【シェル芸】ログファイルの中身を特定の情報ごとに集計する方法

AWS
この記事は約1分で読めます。

前提

・実行環境(Linux)

・下記のようなApache(httpd)のアクセスログファイルがあると想定
※Amazon Lightsail のデフォルトのアクセスログ

日時の情報で集計

各行の4列目にある、04/Mar/2023:02までの情報をsubstrで取得して配列の添字とした配列で件数を集計。
その後集計結果を最終的に出力。

substrの箇所を変更して日付だけ(04/Mar/2023を添字に)でももちろん集計可能です。

最後に

今回はアクセスログで書きましたが、特定の条件で件数を数えたいとなって、形式がバラバラの列があるとかでない限りはこちらで対応できるかと思います。
形式バラバラだった場合には、grepとかでぐりぐり頑張りましょう。

1日1問、半年以内に習得 シェル・ワンライナー160本ノック Software Design plus
Amazon.co.jp: 1日1問、半年以内に習得 シェル・ワンライナー160本ノック Software Design plus eBook : 上田 隆一, 山田 泰宏, 田代 勝也, 中村 壮一, 今泉 光之, 上杉 尚史: 本

コメント

タイトルとURLをコピーしました