現在のフォルダーに「foo」を含むすべてのファイルを見つけるには、次を使用します。
grep -r "foo" .
現在のフォルダーに「bar」を含むすべてのファイルを見つけるには、次を使用します。
grep -r "bar" .
しかし、「foo」と「bar」を含まないすべてのファイルを見つける方法は?
文字列を含まない行を出力するには、次の-vフラグを使用します。
grep -r -v "bar" . | grep -v "foo"
これにより、またはを含まないすべての行が得られます。foobar
文字列を含まないファイルを印刷するには、-Lフラグを使用します。複数の文字列に一致しないようにするには、正規表現と-Pフラグを使用できます (使用できる正規表現フラグがいくつかあります)。
grep -r -L -P "(foo|bar)" .
fooこれは、またはを含まないファイルのリストを出力しますbar。
これを指摘してくれたAnton Kovalenkoに感謝します。
これを試してください:
grep -L -e "foo\|bar" *
以下をお試しください。これはうまくいくはずです
grep -rL -P "(foo | bar)"。