查找:在 OSX 下排除子目录

查找:在 OSX 下排除子目录

我想对目录执行 find 操作,但不包括其子目录。我在 Google 上找到了两个非常不同的示例,由于它们都没有尝试工作,所以我假设在 OSX 下情况有所不同,或者我做了一些奇怪的事情。

我想做:

find here/ -name '*.xxx' -BUTNOT here/there/ -exec stuff {} \;

使用我尝试过的示例,我要么得到错误,要么得到 0 个匹配,要么得到所有匹配。

我可能需要排除多个子目录。

答案1

不幸的是我现在没有可用的 OS X,但至少在 Linux 中这是可行的:

find . -name \*.xxx -o -path ./path/to/exclude -prune ...

要修剪多个目录,请重复整个模式-o -path ... -prune

find . -name \*.xxx -o -path ./path/to/exclude1 -prune -o -path ./path/to/exclude2 -prune ...

相关内容