Supposons que vous avez un tas de .docx
, .mp3
, .txt
et les .xlsx
fichiers stockés dans cette structure de répertoire:
/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/
... et que vous voulez dans récursif tous ces répertoires afin de copier tous trouvés les .mp3
fichiers à /home/me/music/
mais vous ne pas souhaitez conserver cette arborescence dans la destination (vous voulez que tous trouvés les .mp3
fichiers à copier au /home/me/music/
lieu de copier dans les répertoires respectifs comme /home/me/music/dir1/
, /home/me/music/dir1/dir11/
et cetera).
Dans ce cas, sur le terminal shell (bash), exécutez d'abord cette commande afin d'accéder à la racine de votre recherche de fichiers:
cd /files
... puis exécutez cette commande:
for i in `find . -iname '*.mp3'`; do cp $i /home/me/music/; done
Si vous souhaitez conserver l'arborescence du répertoire source dans la destination, exécutez cette commande à la place (après l'exécution cd /files
):
find . -iname '*.mp3' | cpio -pdm /home/me/music/
Sur les commandes ci - dessus, la recherche est insensible à la casse (ie matchs .mp3
, .MP3
, .mP3
et .Mp3
). Utilisez -name
plutôt que -iname
si vous souhaitez que la recherche soit sensible à la casse (par exemple, l'utilisation -name
de la .mp3
chaîne de caractères correspondra aux fichiers se terminant par .mp3
mais pas à ceux se terminant par .MP3
, .mP3
ni .Mp3
).
-iname
plutôt que-name
si des fichiers se terminent.MP3
.