繁体   English   中英

具有多个 OR 的 Linux find 命令

[英]Linux find command with multiple ORs

试图获取 ~/files 中所有视频文件的列表。 2.7.

find ~/files -type f "( -iname *.mp4 -o -iname *.mov -o iname *.mkv )" | head
find: paths must precede expression: `( -iname *.mp4 -o -iname *.mov -o iname *.mkv )'

我试过删除引号并转义括号和星号,并删除类型限制,但同样的错误。

使用单个 OR 将文件类型限制为两种:

find ~/files -type f -iname \*.mp4 -o -iname \*.mov

我觉得我可能只是从根本上误解了 find 命令,我只是不确定是什么。

谢谢!

分别引用括号和通配符,使它们保持独立的参数。 当它们组合成一个参数时, find不喜欢它。

最后的-iname也缺少一个破折号。

find ~/files -type f "(" -iname "*.mp4" -o -iname "*.mov" -o -iname "*.mkv" ")" | head

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM