Linux端末のディレクトリ全体とサブディレクトリから複数行の複数の文字列をgrepする方法は?

Linux端末のディレクトリ全体とサブディレクトリから複数行の複数の文字列をgrepする方法は?

「John」AND「Riya」AND「bug」を含むパターンを一致させたいです。

例_1:

//This file should match.
Hi John, How are you?
Riya, what is your age?
Fix this bug by end of the week.

例_2:

//This file should not match.
Hi John, How are you?
Mike, what is your age?
Fix this bug by end of the week.

ベストアンサー1

Foresightはこの目的のために設計されています。 PCREモードとslurpモードで-Pgrepを呼び出します-z。次に、3つの前提条件を満たす入力ファイルを一覧表示します。これにより、(?s:.....)ドットが.改行文字にまたがるようになります。

$ grep -Plz '(?s:(?=.*John)(?=.*Riya)(?=.*bug))'  file

$ grep -Plzr '(?s:.....)' .

現在のディレクトリに一致するファイルが繰り返し表示されます。

おすすめ記事