[英]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.