パターンに一致するサブディレクトリのみ grep

パターンに一致するサブディレクトリのみ grep

数千のサブディレクトリで構成されたディレクトリツリーがありますが、これらのディレクトリの一部だけをインポートする必要があることがよくあります。grepパターンのサブディレクトリのみを一致させるにはどうすればよいですか?

たとえば、grepしたいサブディレクトリがあるとします。

...
...
...
/foo
/fooLib
/fooHandler
/fooGizmo
...
...
...

上記の項目は、...何千もの異なるディレクトリを表します。いいえgrepが入ってほしい。

私が探しているすべてのインスタンスを想定するbarと、次のようになります。

grep -n --recursive bar *

私はすべてのディレクトリで私が探しているものを見つけます。パターンに一致するサブディレクトリのみを検索する方法はfoo*

ベストアンサー1

次の組み合わせを見つけて見つけることができます。

find /{foo,fooLib,fooHandler,fooGizmo} -type f -exec grep -l "test" {} \;

またはあなたは使用することができます

find /foo* -type f -exec grep -l "test" {} \;

または単にgrepを使用してください

grep -R "test" /foo*

おすすめ記事