Eğer bir grup var olduğunu varsayalım .docx
, .mp3
, .txt
ve .xlsx
bu dizin yapısında depolanan dosyalar:
/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/
... ve tüm bulundu kopyalamak için bu tür tüm dizinlere içine recurse istediğiniz .mp3
dosyaları /home/me/music/
ama do not yani tüm bulunmasını istiyorum (hedef tür dizin ağacını korumak isteyen .mp3
dosyaları kopyalanacak /home/me/music/
yerine ilgili dizinlere kopyalanan gibi /home/me/music/dir1/
, /home/me/music/dir1/dir11/
ve saire).
Bu durumda, kabuk terminalinde (bash) dosya aramanızın köküne erişmek için önce bu komutu çalıştırın:
cd /files
... ve ardından şu komutu çalıştırın:
for i in `find . -iname '*.mp3'`; do cp $i /home/me/music/; done
Eğer do , hedef kaynağın dizin ağacını korumak (çalıştırdıktan sonra yerine bu komutu çalıştırmak istediğiniz cd /files
):
find . -iname '*.mp3' | cpio -pdm /home/me/music/
Yukarıdaki komutlar üzerinde arama küçük harfe duyarlı değildir (yani maçlar .mp3
, .MP3
, .mP3
ve .Mp3
). Kullanım -name
yerine -iname
arama (kullanarak örneğin harf duyarlı olmasını istiyorsanız -name
için .mp3
ile biten dosyalar demektir karakter dizesi .mp3
değil biten olanlar .MP3
, .mP3
ne de .Mp3
).
-iname
yerine-name
durumunda herhangi dosyalar sona.MP3
.