这是&#34的变体;如何在找到第一个结果后停止搜索?"这是我今天早些时候发布的,但又不同以保证一个新问题(IMO)。它涉及find
命令,如果发现不能做我需要的话,它可能是一个perl soln。
使用find
,我想在目录树中搜索名称为" out"的目录的所有实例。一旦" out"的实例找到了,我希望它停止在该目录下搜索,但继续搜索其他路径以便" out"。
考虑这个例子......
mkdir -p top/a/b/out/c/d/out/e/leaf
mkdir -p top/a/bb/cc/out/dd/ee/out/ff/gg/out/hh/leaf
我想找...
top/a/b/out
top/a/bb/cc/out
...但没有" out"的其他实例。
此外,我希望它一旦遇到" out"的实例就停止搜索(浪费时间)在路上。
我将在perl中运行它,所以我想我可以发挥创意并编写一些递归函数来执行此操作。所以我也会用" perl"应该是最终的解决方案。
答案 0 :(得分:3)
使用-prune
操作:
find top -name out -print -prune
此操作会阻止find
递归到目录。