我想将子目录中具有特定扩展名的所有文件复制到另一个文件夹。我不想保留目录结构,我只想将找到的所有文件复制到另一个文件夹。
我使用这个命令来执行此操作:
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
但由于“问题文件”中有空格,所以很混乱。
答案1
您可以简单地使用命令-exec
选项find
find . -iname '*.acc' -exec cp {} <dest folder> \;