
文字列を含むファイルを探しています。私のコマンド:
grep -rwl '/path/' -e "string"
別の文字列を含むパスに結果を制限したいです。私はこれを行うことができます:
grep -rwl '/path/' -e "string" | grep 'path_string'
可能であれば、「path_string」で始まるパスだけを見て、実行を最適化したいと思います。どうすればいいですか?
答え1
find
たとえば、次のものを使用できます。-path
find /path -path '*path_string*' -type f -exec grep -qw 'string' {} \; -print
これは1シェルパターンと一致するファイル名を検索し/path
、そのファイルでのみ実行され、成功するとその名前を印刷します。*path_string*
grep
1:次から始まるファイル名全体にパターンマッチングが適用されます。/path/