grep -Pオプションを使って複数行を検索する方法 grepは単一行のみしか検索できないのかと思っていたが、オプションを使うとできることが分かった。 例として、検索対象のテキストtest.txtに以下のように書かれているとする。 aaabbbccc dddeeefff ggghhhiiiこのテキストから、「bbbで始まってdddで終わる文字列」を検索するのは以下のようにすればできる。 $ grep -P 'bbb[\s\S]*?ddd' test.txt 記号の意味を簡単に解説。 -Pオプションは、Perl風の正規表現を使うという意味。 [\s\S]は改行文字も含めたすべての文字1文字にマッチ。 *?で、[\s\S]の繰り返しのうちもっとも短いものにマッチ。 このコマンドで表示される結果は以下。 aaabbbccc dddeeefffこれだと、求める文字列を含む行ごとすべて表示されてしま