grepの結果をgrepする方法は?

grepの結果をgrepする方法は?

どのファイルに特定の単語が含まれているかを確認するには、一部のファイルをgrepする必要があります。

grep -l word *

次に、このファイルのリストをgrepして、どのファイルに別の単語が含まれているかを確認する必要があります。最も簡単な方法はおそらくスクリプトを書くことですが、どうすればよいかわかりません。

ベストアンサー1

すべてのファイル名にスペース、一重引用符、二重引用符、またはバックスラッシュ文字(または - で始まるGNU文字grep)が含まれていないと仮定すると、次のことができます。

grep -l word * | xargs grep word2

Xargsは、最初のgrepの各ファイルに対して2番目のgrepを実行します。

GNU grep/xargsまたは互換性を使用すると、次の方法でより信頼性を高めることができます。

grep -lZ word ./* | xargs -r0 grep word2

Useは印刷ファイル名をNULで区切っている-Zのでgrep、一緒に使用できます。xargs -0最初のオプションで何も見つからない場合は、2番目の-rオプションを実行する必要はありません。xargsgrepgrep

おすすめ記事