我需要搜索具有特定权限的所有文件,同时排除 /
下的两个目录。这些目录包含太多信息,系统会因它们而窒息。
我尝试过 -type
的各种组合-path
-wholename
和-prune
并且似乎无法让它排除这两个目录。
目前这就是我正在尝试的。
find . -path './dir1/' -prune -o -path './dir2/' -prune -o -type d -perm -002 ! -perm -1000 > wwlist
任何帮助将不胜感激。
最佳答案
您可以添加排除目录的条件:
find . '!' -path './dir1/*' '!' -path './dir2/*' ...
更准确地说,还排除目录本身:
find . '!' -path './dir1' '!' -path './dir2' '!' -path './dir1/*' '!' -path './dir2/*' ...
您还可以使用正则表达式:
find . -regextype posix-extended -not -regex '[.]/dir(1|2)(/.*)?' ...
- 您还可以使用
-not
代替!
,但它不符合 POSIX 标准。 -wholename
与-path
同义,但不符合 POSIX 标准。
关于linux - 从搜索整个系统中排除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25081785/