加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – cp:复制所有子目录中具有特定扩展名的所有文件

发布时间:2020-12-15 16:14:28 所属栏目:安全 来源:网络整理
导读:在unix下,我想将所有子目录中所有具有特定扩展名(所有excel文件)的文件复制到另一个目录。我有以下命令: cp --parents `find -name *.xls*` /target_directory/ 此命令的问题是: 它也复制目录结构,我只想要的文件(所以所有文件应该在/ target_directory
在unix下,我想将所有子目录中所有具有特定扩展名(所有excel文件)的文件复制到另一个目录。我有以下命令:
cp --parents `find -name *.xls*` /target_directory/

此命令的问题是:

>它也复制目录结构,我只想要的文件(所以所有文件应该在/ target_directory /)
>它不会复制文件中的文件名中的空格(这是相当多的)

任何解决这些问题的解决方案?非常感谢!!

–parents正在复制目录结构,所以你应该摆脱它。

你写这个的方式,find执行,输出被放到命令行,使cp不能区分分隔文件名的空格和文件名中的空格。最好做一些事情

$ find . -name *.xls -exec cp {} newDir ;

其中对找到查找的每个文件名执行cp,并正确传递文件名。 Here’s more info上这种技术。

而不是上面的所有,你可以使用zsh,只需键入

$ cp **/*.xls target_directory

zsh可以扩展通配符以包括子目录,并使这种事情很容易。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读