繁体   English   中英

如何在find命令的额外-exec选项中表示所有文件/目录?

[英]How to express all files/directories at the extra -exec option of `find` command?

我的任务是将所有文件从具有特殊名称的多个目录复制到目标目录。

所以我建立了这个目录来测试我的命令。 测试目录树如下所示:

.
├── dir1
│   └── file1
└── test

我打算将所有文件从dir1转换到test的命令是:

find . -type d -name "*dir*" -exec mv {}/* test \;

然后我得到:

mv: rename ./dir1/* to test/*: No such file or directory

我猜这是因为在该额外的-exec表达式中,该命令没有将*视为通配符。

所以我做了:

find . -type d -name "*dir*" -exec mv {}/file1 test \;

其中成功移动了file1进行测试。

但关键是,我现在需要所有文件的表达式,以便我可以完成此文件传输工作。

我应该如何在find -exec命令组中表达这一点?

如果仅打算从任何dir* (*表示dir后跟任何其他字符作为通配符)移动文件,则需要使用-type f ,即files

find dir* -type f -name "*" -exec mv {} test \;

-type d表示find您正在指定目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM