Você pode simplesmente usar a opção -exec
do comando find
find . -iname '*.acc' -exec cp {} <dest folder> \;
Eu gostaria de copiar todos os arquivos com uma certa extensão que estão em sub-diretórios para uma pasta diferente. Eu não quero manter a estrutura de diretórios, eu só quero copiar todos os arquivos encontrados para uma pasta diferente.
Eu usei este comando para fazer isso:
cp 'find . -name "*.aac"' /media/moasad/New\ Volume/Media\ files/Avengers/Aud/aac/
No entanto, notei que, se ele for executado em pastas ou arquivos com espaços, a função cp
não saberá o que fazer e um erro será exibido assim:
cp: cannot stat ‘./Temporary_Items/martin/Problem’: No such file or directory
cp: cannot stat ‘Files/nav-YCA136843.aac’: No such file or directory
Observe que seu único arquivo: ./Temporary_Items/martin/Problem Files/nav-YCA136843.aac
Mas devido ao espaço em "Arquivos de problemas", isso é confuso.
Você pode simplesmente usar a opção -exec
do comando find
find . -iname '*.acc' -exec cp {} <dest folder> \;
Tags command-line cp find files