用于查找具有多个条件的文件的OSX终端命令

时间:2014-01-25 23:00:32

标签: macos bash shell command find

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

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

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

1 个答案:

答案 0 :(得分:6)

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