我find
在 Mac 上使用命令搜索名为 的文件夹test1
。现在test1
文件夹也可能出现在.Trash
文件夹中。如何排除该.Trash
文件夹,使其不出现在搜索结果中,或者基本上排除任何我希望排除的文件夹?
$ find $HOME -name test1 -type d
/Users/theuser/.Trash/test1
/Users/theuser/test1
/Users/theuser/Downloads/test1
我希望结果公正
/Users/theuser/test1
/Users/theuser/Downloads/test1
我用了grep
:
find $HOME -name test1 -type d | grep -v '.Trash'
过滤掉.Trash
结果,但我感兴趣的是知道find
单独使用是否能达到相同的结果。
答案1
find $HOME -path $HOME/.Trash -prune -o -name test1 -type d -print
通过明确使用,-print
您可以避免错误打印.Trash
。
答案2
使用-prune
主要:
find $HOME -name .Trash -prune -o -name test1 -type d
编辑:
这将在输出中包含 .Trash。要修复此问题:
find $HOME -name .Trash -prune -o \( -name test -type d -print \)