【问题标题】:OSX Terminal Commands for find files with multiple criteria用于查找具有多个条件的文件的 OSX 终端命令
【发布时间】:2014-02-16 21:42:19
【问题描述】:

我尝试查找大于 1GB 且属于特殊类型的文件(例如 *.avi、*.mov、*.mpeg)。到目前为止我尝试过的是

find . -name "*.mpeg" -o -name "*.mkv" -o -name "*.avi" -o -name "*.mov" -size +1073741824 

但这似乎不起作用,因为它显示的文件小于 1GB。我确信这不会那么复杂,但我只是没有看到解决方案:(

【问题讨论】:

    标签: macos bash shell command find


    【解决方案1】:

    find -cond1 -o -cond2 -cond3 将检查 cond1 OR (cond2 AND cond3),而不是 (cond1 OR cond2) AND cond3。在数学和编程中,合取总是优先于析取。

    要使其按您想要的方式工作,只需添加您自己的分组:

    find . \( -name "*.mpeg" -o -name "*.mkv" -o -name "*.avi" -o -name "*.mov" \) -size +1073741824
    

    【讨论】:

    • 它似乎不像我希望的那样工作。基本上它应该找到当前目录内或以下满足“视频”标准且文件大小>1GB的所有文件。
    • 复制粘贴中的星号消失了。现在再试一次。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 2018-03-25
    • 1970-01-01
    • 2021-08-16
    相关资源
    最近更新 更多