正規表現で範囲演算子(フリップフロップ演算子)
perlでこんな正規表現を書くと行をまたいでマッチしてくれる
/RE1/.../RE2/
たとえば9時から12時までのログファイルを引っ掛けたいときは
/09:00:00/.../12:00:00/
ワンライナーにすると下記のような感じ。
perl -nle '/09:00:00/ ... /12:00:00/ and print;' acs_log
なんで-nオプション付けてるのに行をまたいで判定してくれるんだろう
演算子が状態を持つにしても行ごとに定義し直されてるんじゃないの?
と、思ったけど、これは気にしないことにする。
ノイズがすごいログファイルをエラーだけ見たいとき
tail -f std_log | perl -nle '/ERRLOG START/ ... /ERRLOG END/ and print;'