grepはディレクトリパスのみを返します。

grepはディレクトリパスのみを返します。

私はgrepを使って大きなディレクトリを検索していますが、問題は正規表現を満たすディレクトリだけが必要だということです。ファイル名は必要ありません。

私が使用するgrepコマンドは次のとおりです。

grep -Erin "RegEx" * > outputfile.txt

ベストアンサー1

@RalfFriedlによれば、正規表現に一致するファイルのディレクトリ名だけが必要な場合は、dirnameを使用できます。ディレクトリに複数のファイルがある場合は、sortを使用して出力をソートされた一意のリストに縮小できます。このように:

dirname $(grep -Eril "RegEx" *) | sort -u

おすすめ記事