仙台の山奥で自転車に乗ったり転んだり

愛車の GIOS でサイクリングしたりポタリングしたり、それをブログに記録してみたり。ロードバイクや自転車や坂のことを書いてみたり。ときたまプログラムのことを忘れないようにメモってみたり。

AWSの各種ログの日時をJSTに変換して整形して出力

たぶん、もっと単純にキレイにやる方法ありそうだけど……。
とりあえず用を果たすくらいには使えたのでこれで済ませていました。

$ cat aws.log | perl -pe 'sub _e{ $a=`TZ=Asia/Tokyo date -d $_[0] "+%Y-%m-%d %H:%M:%S"`; $a=~s/\n//g; $a; } s/(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+Z)/{ _e($1) }/e'

CloudWatch Logs で収集していたログを何個かの複数条件でフィルタリングした結果から、日時の部分を馬鹿な自分でも間違わないようにJSTに変換して見やすく整形しつつ、さらに jq で整形や集計してゴニョゴニョって感じの用途でした。

たぶん perl でやるならもっと簡潔に書けるんだろうけど、sed と date のコマンド組み合わせれば何とかなるんじゃと格闘した末に、あきらめて perl で片づけた名残りでグチャグチャしています。