2行を含むすべてのファイルを検索したい:abc
とdef
。例えば、
xxx
111abc
yyy
222def333
このファイルにはとがgrep
含まれているため、キャプチャする必要があります。abc
def
どうすればいいですか?私はgrep -rE 'abc.*def' /dir/
成功せずにこれを試しました。
ベストアンサー1
grep
より単純化されたパターン()--null-data
バージョンは、-z
次のように欲張りな数量子を使用して、必要な数の新しい行を一致させることです。
grep -ozP 'abc(.*\n.*){1,}def' file
またはpcregrepを使用してください(提供:PCREプロジェクト)はデフォルトでPCRE正規表現機能を使用します。-M
複数行一致モードを有効にします。
pcregrep -M 'abc(.*\n.*){1,}def' file