我正在编写一个脚本来查找给定文件夹中超过30天的文件.根据要求,我必须只删除扩展名为.log或.out的文件,并跳过子目录.
以下命令将返回30天前修改的所有.log *文件.然而,即使是最近的文件,它也会返回所有.out文件.下面的代码有什么问题吗?
find -maxdepth 1 -mtime +30 -type f -name "*.log*" -o -name "*.out*"
你能告诉我上述陈述中的错误吗?
解决方法:
尝试:
find -maxdepth 1 -mtime +30 -type f ( -name "*.log*" -o -name "*.out*" )
问题是,find比逻辑或更紧密地绑定逻辑和. parens抵消了这一点.
如果没有parens,find会查找与(a)-mtime 30 -type f -name“* .log *”或(b)-name“* .out *”匹配的文件.
对于parens,find正在寻找(a)匹配-mtime 30 -type f和(b)匹配-name“* .log *”或-name“* .out *”的文件.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!