копирование всех файловых систем .tar и .tar.bz2 из всех подкаталогов в другой каталог - PullRequest
0 голосов
/ 26 февраля 2020

Представьте, что у меня много подкаталогов в подкаталоге в каталоге, я хотел скопировать все файлы расширений .tar и .tar.bz2 из всех подкаталогов в другой каталог.

Я использовал

$find /home/apple/mango -name *.tar -exec cp {} ./kk \;

, но он копирует только один раз из подкаталога и останавливается, он не находит файлы, которые находятся в других подкаталогах или go внутри подкаталогов и найти их. Я хочу сделать это рекурсивно

1 Ответ

3 голосов
/ 26 февраля 2020

Вы можете использовать:

find /home/apple/mango -name '*.tar*' -execdir cp {} /full/path/to/kk \;

Обратите внимание, как шаблон имени заключен в кавычки, чтобы избежать расширения оболочки даже до выполнения команды find.

При отсутствии кавычек *.tar раскрывается к некоторому file.tar, который присутствует в текущем каталоге и find останавливается прямо там, потому что file.tar не найден в подкаталогах. Заключая в кавычки шаблон, мы проверяем, что команда find получает буквенный шаблон для поиска в подкаталогах.

...