LoginSignup
1
0

More than 5 years have passed since last update.

log調査なんかでワンライナーPerlつかうとき用忘備録(正規表現 置換)

Posted at

経緯

logから特定の文字列を取り出して、起こった事象の詳細が知りたい。
sedよくわからん。Perlでいいや。

結論

cat error.log | perl -anle 'if(s/<なんかマッチパターン>/<なんか置換文字列>/){print}'

みそは n オプションと if(s///){print}

結論に至るまで

最初特に考えなしに単純に s/// だけ書いて、print書かなくても出力されるように p オプションをつけて実行した。

cat error.log | perl -aple 's/<なんかマッチパターン>/<なんか置換文字列>/'

そのときは後ろにさらに jq くっつけて整形していたんだけども、json形式じゃないってエラーがでていた。
どうやら p のおかけでマッチしてない部分についても、 $_ が出力されてしまっていたようだった。

ということで結論に至った。

参考

ワンライナーperlについてはこちらの記事が簡潔。
https://qiita.com/ngyuki/items/d5dde70cf2de952cfb87

詳しくオプション知りたければ perldoc perlrun

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0