Si supponga di avere un po 'di .docx
, .mp3
, .txt
e .xlsx
file memorizzati in questa struttura di directory:
/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/
... e si desidera ricorrere a tutte queste directory per copiare tutti i .mp3
file trovati /home/me/music/
ma non si desidera preservare tale albero di directory nella destinazione (cioè si desidera .mp3
copiare tutti i file trovati /home/me/music/
anziché copiarli nelle rispettive directory come /home/me/music/dir1/
, /home/me/music/dir1/dir11/
eccetera).
In tal caso, sul terminale della shell (bash) eseguire prima questo comando per accedere alla radice della ricerca dei file:
cd /files
... e quindi esegui questo comando:
for i in `find . -iname '*.mp3'`; do cp $i /home/me/music/; done
Nel caso in cui non desidera conservare albero di directory della sorgente nella destinazione, eseguire questo comando al posto (dopo l'esecuzione cd /files
):
find . -iname '*.mp3' | cpio -pdm /home/me/music/
Sui comandi di cui sopra, la ricerca è case-insensitive (cioè le partite .mp3
, .MP3
, .mP3
e .Mp3
). Utilizzare -name
invece di -iname
se si desidera che la ricerca faccia distinzione tra maiuscole e minuscole (ad esempio, l'utilizzo -name
per la .mp3
stringa di caratteri corrisponderà ai file che terminano con, .mp3
ma non a quelli che terminano con .MP3
, .mP3
né .Mp3
).
-iname
invece-name
nel caso in cui un file finisca.MP3
.