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

use*_*362 2 macos bash shell command find

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

find . -name "*.mpeg" -o -name "*.mkv" -o -name "*.avi" -o -name "*.mov" -size +1073741824 
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用,因为它显示<1GB的文件.我敢肯定,不能那么复杂,但我只是没有看到解决方案:(

tha*_*guy 8

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
Run Code Online (Sandbox Code Playgroud)