[英]find all but skip one folder
我有一个命令可以在我的所有子文件夹中查找文件,但是我希望它从搜索中跳过一个文件夹,并且我不确定执行此操作的正确方法是什么:
find -name '*.avi' -o -name '*.mkv' -o -name '*.mp4' -o -name '*.vob'
我希望它不要查看文件夹名称:secure
我试过了:
find -name '*.avi' -o -name '*.mkv' -o -name '*.mp4' -o -name '*.vob' --skip 'secure'
但它不起作用。
感谢您的帮助。
GNU查找中没有--skip参数。 但是,您可以使用-path
和-prune
表达式来执行所需的操作。 语法-path ./secure -prune
:您将-path ./secure -prune
用作术语,然后与表达式的其余部分进行“或”运算。 因此,在您的情况下:
find . -name '*.avi' -o [...] -o -path ./secure -prune
请注意,这仍将在结果中返回目录./secure
,但其中未包含任何内容。
接下来呢?
find \( -name '*.avi' -o -name '*.mkv' -o -name '*.mp4' -o -name '*.vob' \) -a -not -path './secure*'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.