我需要NAME
在目录树中查找所有以该名称开头的文件,并使用一个shell命令删除所有这些文件。
我需要NAME
在目录树中查找所有以该名称开头的文件,并使用一个shell命令删除所有这些文件。
Answers:
删除所有具有名称的文件---您可以使用
find -name . 'name*' -exec rm {} \;
grep
有-exec
开关?
我已经尝试过这种方式,对我来说,尝试下面的命令。
rm -rf Example*
这里的“示例”是所有文件通用的文本。
使用globstar
选项(启用shopt -s globstar
):
rm -f **/NAME*
**/
扩展为./
,*/
,*/*/
,*/*/*/
等,如果你有一个目录开头的名称NAME
,该命令会抱怨rm
不能删除目录,但仅此而已。
请注意,如果glob与许多文件匹配,这可能会遇到命令行长度限制。
另外,调用次数rm
尽可能少,但不受命令行长度限制:
find . -type f -name 'NAME*' -exec rm -f {} +
(请注意,+
而不是\;
关闭该-exec
语句。)