Misalkan Anda memiliki banyak .docx
, .mp3
, .txt
dan .xlsx
file yang tersimpan dalam struktur direktori ini:
/files/
/files/dir1/
/files/dir1/dir11/
/files/dir1/dir12/
/files/dir1/dir13/
/files/dir2/
/files/dir3/
/files/dir3/dir31/
/files/dir3/dir32/
/files/dir4/
/files/dir5/
/files/dir51/
/files/dir52/
/files/dir53/
/files/dir54/
... dan Anda ingin mengulang kembali ke semua direktori untuk menyalin semua .mp3
file yang ditemukan /home/me/music/
tetapi Anda tidak ingin menyimpan pohon direktori tersebut di tujuan (mis. Anda ingin semua .mp3
file yang ditemukan disalin ke /home/me/music/
alih-alih disalin ke direktori masing-masing seperti /home/me/music/dir1/
, /home/me/music/dir1/dir11/
dan lain-lain).
Dalam kasus seperti itu, di terminal shell (bash) pertama jalankan perintah ini untuk mengakses root pencarian file Anda:
cd /files
... dan kemudian jalankan perintah ini:
for i in `find . -iname '*.mp3'`; do cp $i /home/me/music/; done
Jika anda tidak ingin melestarikan pohon direktori sumber di tujuan, menjalankan perintah ini bukan (setelah menjalankan cd /files
):
find . -iname '*.mp3' | cpio -pdm /home/me/music/
Pada perintah di atas, pencarian adalah case-sensitive (yaitu pertandingan .mp3
, .MP3
, .mP3
dan .Mp3
). Gunakan -name
alih-alih -iname
jika Anda ingin pencarian menjadi case-sensitive (misalnya menggunakan -name
untuk .mp3
string karakter akan cocok dengan file yang diakhiri dengan .mp3
tetapi tidak yang berakhir dengan .MP3
, .mP3
juga .Mp3
).
-iname
daripada-name
seandainya file berakhir.MP3
.