【问题标题】:Find files older than X days with name查找名称超过 X 天的文件
【发布时间】:2018-08-20 10:07:19
【问题描述】:

我正在尝试在 bash 中使用 find 命令。通过匹配文件名的一部分和文件的年龄来查找文件,如下所示:

find . -name “*sample*” -type f -print -mtime +5

这将打印当前目录中包含名称样本的所有文件。然而,我想要的是只打印那些超过 5 天的文件,而我将 -mtime 参数设置为哪个数字并不重要,它总是打印出所有包含样本的文件。

有什么想法吗?

【问题讨论】:

    标签: bash


    【解决方案1】:

    find 期望参数组合在一起 - Testsnamemtimetype 等)必须在 Actionprintexec 等)之前。

    以下应该有效:

    find . -name “*sample*” -type f -mtime +5 -print
    

    【讨论】:

    • "Must" 并不完全正确;谓词按顺序处理,第一个失败的将中止对该特定文件的进一步处理。使用 -print -false 是正确且惯用的,尽管您在实践中很少需要这样做。
    猜你喜欢
    • 2016-03-11
    • 2015-10-02
    • 2013-12-12
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多