使用 -prune 主要。例如,如果要排除 ./misc : find . -path ./misc -prune -o -name '*.txt' -print 排除多个目录,或在括号之间。 find . -type d \( -path ./dir1 -o -path ./dir2 -o -path ./dir3 \) -prune -o -name '*.txt' -print 而且,要在任何级别排除具有特定名称的目录,请使用 -name 主目录而不是 -path 。 find . -type d -name node_modules -prune -o -name '*.json' -print 原文由 f10bit 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果 -prune 对您不起作用,这将: find -name "*.js" -not -path "./directory/*" 警告: 需要遍历所有不需要的目录。 原文由 GetFree 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用
-prune
主要。例如,如果要排除./misc
:排除多个目录,或在括号之间。
而且,要在任何级别排除具有特定名称的目录,请使用
-name
主目录而不是-path
。