Припустимо , що у вас є купа .docx, .mp3, .txtі .xlsxфайли , що зберігаються в цій структурі каталогів:
/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/
... і ви хочете повторно зайнятись у всіх таких каталогах, щоб скопіювати всі знайдені .mp3файли, /home/me/music/але ви не хочете зберегти таке дерево каталогів у пункті призначення (тобто ви хочете, щоб усі знайдені .mp3файли були скопійовані, /home/me/music/а не скопійовані у відповідні каталоги наприклад /home/me/music/dir1/, /home/me/music/dir1/dir11/et cetera).
У такому випадку в терміналі оболонки (bash) спочатку запустіть цю команду, щоб отримати доступ до кореня пошуку вашого файлу:
cd /files
... а потім запустіть цю команду:
for i in `find . -iname '*.mp3'`; do cp $i /home/me/music/; done
У разі , якщо ви дійсно хочете зберегти дерево каталогів джерела сигналів в пункті призначення, запустіть цю команду замість (після запуску cd /files):
find . -iname '*.mp3' | cpio -pdm /home/me/music/
На наведених вище команд, то пошук без урахування регістру (тобто посилань .mp3, .MP3, .mP3і .Mp3). Використовуйте -nameзамість -inameякщо ви хочете, щоб пошук бути чутливим до регістру (наприклад , використовуючи -nameдля .mp3рядка символів будуть відповідати файли закінчуються , .mp3але не тих , закінчуючи .MP3, .mP3ні .Mp3).
-inameзамість того,-nameщоб якісь файли закінчувалися.MP3.