Eğer (put ≥4 bash, tek bir hedef dizinine bir dizin hiyerarşisi içindeki tüm dosyaları taşımak isterseniz shopt -s globstarsizin içinde ~/.bashrcveya zsh):
mkdir ~/new-directory
mv -i **/*.xxx ~/new-directory
Diğer kabuklarda:
mkdir ~/new-directory
find . -name '*.xxx' -exec mv -i {} ~/new-directory \;
Bu findkomut nasıl okunur :
.: geçerli dizini geç
-name '*.xxx': ismi bu kalıpla eşleşen dosyalara etki eder
-exec … \;: bu komutu her dosyaya {}uygulayın, dosyanın yolunu değiştirin
Her dosya için findayrı bir mvişlem başlatması gerekmediği için çok sayıda dosyanız varsa, bunun daha hızlı kullanılmasıyla daha karmaşık bir komut vardır :
find . -name '*.xxx' -exec sh -c 'mv -i "$@" "$0"' ~/new-directory {} +
+Sonunda söyler findAynı anda birden çok dosya üzerinde komutunu çağırmak için. Yana findyalnızca komut satırının sonuna ve en dosya adları koyabilirsiniz mvson hedef dizini olması ihtiyaçları, biz (argümanlar yeniden düzenlemek için bir ara kabuk kullanmak "$0"kabuğuna ilk argüman vardır ~/new-directoryve "$@"gelen müteakip argümanlar vardır find'nin genişlemesi {}).