unix shell

複数行にわたるgrep検索

どうやら1行ごとに処理するのがunixの思想らしく、grepも特定の一行にしか適用できません。日本語でWEB検索しても出てこなかったのだけれども、英語で検索したら一発で出てきた。複数行を正規表現で検索するには、pcregrepを使うと良いよー。

pcregrep -M  'abc.*(\n|.)*efg' test.txt

元ネタ:http://stackoverflow.com/questions/2686147/how-to-find-patterns-across-multiple-lines-using-grep