查找具有两种扩展名的文件,最后修改时间为 30 天前

查找具有两种扩展名的文件,最后修改时间为 30 天前

我想找到一个目录中至少30天没有修改过并且以.xml或结尾的所有文件.out。这是我尝试拼凑一些参考文献来构建正确的find语法:

find . -mtime +30 -type f / (-name "*.xml -o -name "*.out" ) / -print

我越来越

-bash: syntax error near unexpected token '('

我的语法中缺少什么?

答案1

你快到了!这有效:

find . -mtime +30 -type f \( -name \*.xml -o -name \*.out \)

你的/ (变成\((转义的左括号;因为你发现 shell 会进行(特殊处理,所以需要用 转义\);其实也) /应该如此\)。名称需要*与以给定扩展名结尾的任何内容匹配,并且还需要转义,因此".xml"(我添加了缺少的结束引号)变为\*.xml"*.xml"

最后-print可以删除,因为这是find默认操作。

相关内容