サクラエディタで日付のフォーマットを一括変更する
システムの開発をしていると、よくあるのがシステムログやアプリログの解析。
システムが違うと日付のフォーマットが微妙に違ったりして、並べた時に見た目的に統一されていなくて気持ちが悪いなー、ぐらいならまだ良いのですが、これを別のログ解析ツールかなにかに同時にぶち込もうとかするとエラーになったりします。
そんな時はサクラエディタを使ってサクッと整えてしまいましょう。
例えば、こんなログがありました。書式は、YYYY-MM-DD HH:mm:ss
です。
これを諸事情で、YYYY/MM/DD HH:mm:ss
にする場合とかです。
2019-06-15 22:01:56 INFO
2019-06-15 22:01:57 INFO
2019-06-15 22:01:57 INFO
2019-06-15 22:01:57 INFO
2019-06-15 22:01:57 INFO
これをいちいち手で直している若手がいますが、時間がもったいないです。ドラクエで例えると、スライムの大群にメラを連発している駆け出し魔法使いのようです。
そんな時は、こんな感じのギラを使うと瞬殺です。
正規表現:[0-9]{4}-[0-9]{2}-[0-9]{2}
これで変換対象の日付の部分は指定できました。
ただ、このままでは置換できないので、年月日情報はそれぞれ括弧で括って取り出します。
したがって置換前文字列は次のようになります。
置換前:([0-9]{4})-([0-9]{2})-([0-9]{2})
あとはこのパターンにマッチした日付の形式の年月日を区切っているハイフン(-)をスラッシュ(/)に置換するため、置換後の文字列は次のように指定します。
置換後:\1/\2/\3
これであとは「すべて置換」を実行すると、区切り文字が一括で変更できます。
この置換を習得すると、次のような応用もできます。
- YYYY-MM-DDをYYYY年MM月DD日に置換
- 日付の区切り文字の置換だけではなく、日、月、年の順に並び替え
- 月日だけ残して、年は消す
- 日付と時間の間に区切り文字を追加する
日付の書式にとどまらず、ログを解析しやすい形に整形できてしまうのです。まるでONE PIECEの悪魔の実「オペオペの実」を食べた感じですね。
ではまた~
コメント