ファイル内の複数行のパターンを検索するにはどうすればいいですか? 質問する

ファイル内の複数行のパターンを検索するにはどうすればいいですか? 質問する

特定の文字列パターンを含むすべてのファイルを見つける必要がありました。最初に思いついた解決策は、探すパイプでxargs grep:

find . -iname '*.py' | xargs grep -e 'YOUR_PATTERN'

しかし、複数行にまたがるパターンを見つける必要がある場合、標準の grep では複数行のパターンを見つけることができないため、行き詰まってしまいます。

ベストアンサー1

以下は使用例ですGNUgrep:

grep -Pzo '_name.*\n.*_description'

-z/--null-data入力を、改行ではなくゼロバイト (ASCII NUL 文字) で終了する行のセットとして扱います。

これはファイル全体を1つの大きな行として扱う効果があります。-z説明を参照してください。grepのマニュアルそしてまたgrep のマニュアル使用方法ページのよくある質問 14

おすすめ記事