参考サイト
なぜ正規表現を使ったか
仕事で10万件近くのログの終了時間を取らなければいけないケースがあり、
Grep検索で正規表現を使用して解析を行いました。
今回探したログの内容
ざっくりですが下記のような感じです。
[2019/08/25 12:58:48] <プロジェクト名> MSG0002_処理が完了しました。
探した条件
今回の条件としては
終了時刻が午前2時〜4時のもの
かつ 今年のログ
かつ 全てのプロジェクト
です。
どんな正規表現を使ったか
¥[2019/0[0-9]/[0-3][0-9] 0[2-4]:[0-9][0-9]:[0-9][0-9] ¥<プロジェクト_[0-9][0-9][0-9]¥> MSG0002_処理が完了しました。
※プロジェクト名はフェイクです。
こんな感じで検索してみたところできました。
また、開始時間も調べないとという追加がきたため、
¥[2019/0[0-9]/[0-3][0-9] 0[2-4]:[0-9][0-9]:[0-9][0-9] ¥<プロジェクト_[0-9][0-9][0-9]¥> MSG0002_処理が完了しました。|¥[2019/0[0-9]/[0-3][0-9] 0[2-4]:[0-9][0-9]:[0-9][0-9] ¥<プロジェクト_[0-9][0-9][0-9]¥> MSG0001_処理を開始しました。
てな具合にすればうまく取れました。
もっとうまい方法があるんでしょうが今の所これが僕の限界かなって感じです。
突き詰めれば面白い正規表現。
勉強していきます。
profile
生まれも育ちも大阪の浪速中の浪速っ子が30才未経験からITエンジニアとして生きるブログもやってます。
よかったらみてください