На этот вопрос уже есть ответ:
Я хотел бы скопировать все файлы с определенным расширением, находящиеся в подкаталогах, в другую папку. Я не хочу поддерживать структуру каталогов, я просто хочу скопировать все найденные файлы в другую папку.
Я использовал эту команду для этого:
cp `find . -name "*.aac"` /media/moasad/New\ Volume/Media\ files/Avengers/Aud/aac/
Однако я заметил, что если она попадает в папки или файлы с пробелами в них, функция cp
не знает, что делать, и я получаю ошибка примерно такая:
cp: cannot stat ‘./Temporary_Items/martin/Problem’: No such file or directory
cp: cannot stat ‘Files/nav-YCA136843.aac’: No such file or directory
Обратите внимание, что это один файл: ./ Temporary_Items / martin / Problem Files / nav-YCA136843.aac
Но из-за места в «Проблемных файлах» он запутался.
Можно просто использовать -exec
опция find
команда
find . -iname '*.acc' -exec cp {} <dest folder> \;