その中に含まれているファイルを再検索できるように、特定の文字列を含むすべてのディレクトリを探したいと思います。
./my-search-term/dir/my-search-term
だから私はそのようなことに時間を無駄にしたくありません。
最初のmy-search-termディレクトリを探すときに再帰をどのように停止しますか?
ベストアンサー1
タスク-prune
はfind
ディレクトリとして繰り返されません。たとえば、他のタスクと組み合わせることができます(-exec
どちらも実行される限り、順序は重要ではありません)。-prune
-exec
-prune
find . -name my-search-term -prune -exec find {} … \;
find
a 内部に入れ子にするのはfind -exec
少し問題になることがあります。ターミネータはexternalによってターミネータとして扱われるため、-exec
内部では使用できません。この問題はシェルを呼び出すことで解決できますが、引用するときは注意してください。find
find
find . -name my-search-term -prune -exec sh -c '
find "$@" … -exec … {\} +
' _ {} +