Regex 如何在'find'命令的extra-exec选项中表示所有文件/目录?
我的任务是将多个具有特殊名称的目录中的所有文件复制到目标目录 所以我构建这个目录来测试我的命令。测试目录树如下所示:Regex 如何在'find'命令的extra-exec选项中表示所有文件/目录?,regex,command-line,find,Regex,Command Line,Find,我的任务是将多个具有特殊名称的目录中的所有文件复制到目标目录 所以我构建这个目录来测试我的命令。测试目录树如下所示: . ├── dir1 │ └── file1 └── test 我打算将所有文件从dir1迁移到test的命令是: find . -type d -name "*dir*" -exec mv {}/* test \; 然后我得到: mv: rename ./dir1/* to test/*: No such file or directory 我想这是因为在extra-
.
├── dir1
│ └── file1
└── test
我打算将所有文件从dir1迁移到test的命令是:
find . -type d -name "*dir*" -exec mv {}/* test \;
然后我得到:
mv: rename ./dir1/* to test/*: No such file or directory
我想这是因为在extra-exec表达式中,命令没有将*作为通配符处理
所以我做了:
find . -type d -name "*dir*" -exec mv {}/file1 test \;
已成功将文件1移动到测试
但关键是,我现在需要为所有文件创建表达式,以便完成文件传输工作
我应该如何在
find-exec
命令组中表达这一点?如果您只想从任何目录*
中移动文件(*表示目录
,后跟任何其他字符作为通配符),您可能希望使用-type f
,意思是文件
:
find dir* -type f -name "*" -exec mv {} test \;
-type d
指示查找
您正在指定目录