在unix下,我想将所有子目录中所有具有特定扩展名(所有excel文件)的文件复制到另一个目录。我有以下命令:
@H_404_13@
–parents正在复制目录结构,所以你应该摆脱它。
cp --parents `find -name \*.xls*` /target_directory/
此命令的问题是:
>它也复制目录结构,我只想要的文件(所以所有文件应该在/ target_directory /)
>它不会复制文件中的文件名中的空格(这是相当多的)
你写这个的方式,find执行,输出被放到命令行,使cp不能区分分隔文件名的空格和文件名中的空格。最好做一些事情
$ find . -name \*.xls -exec cp {} newDir \;
其中对找到查找的每个文件名执行cp,并正确传递文件名。 Here’s more info上这种技术。
而不是上面的所有,你可以使用zsh,只需键入
$ cp **/*.xls target_directory