查找超过 30 天的日志文件

查找超过 30 天的日志文件

我正在编写一个脚本来查找给定文件夹中超过 30 天的文件。根据要求,我必须仅删除具有扩展名的文件。日志或者。出去并跳过子目录。

以下命令返回 30 天前修改的所有 .log* 文件。但是,它返回所有 .out 文件,甚至是最近的文件。下面的代码有什么问题吗?

    find -maxdepth 1 -mtime +30 -type f -name "*.log*" -o -name "*.out*"

你能告诉我上面的陈述有什么问题吗

答案1

尝试:

find -maxdepth 1 -mtime +30 -type f \( -name "*.log*" -o -name "*.out*" \)

问题是find逻辑或的结合比逻辑或更紧密。括号抵消了这一点。

没有括号,find正在寻找匹配的文件任何一个(A)-mtime +30 -type f -name "*.log*" 或者(二) -name "*.out*".

使用括号,find正在查找 (a) 匹配的文件-mtime +30 -type f (b) 匹配-name "*.log*"-name "*.out*"

相关内容