apacheのアクセスログをコマンドラインから1行で簡単に集計してみる
Web開発者なら誰しもapacheのログからちょっとデータを見てみるなんてことをやっているはず。
awkを使えば簡単な集計をコマンドラインから1行で表示することができます。
awk '{print $1;}' access_log|sort|uniq -c
20 aaa.bbb.ccc.ddd
21 aaa.bbb.ccc.eee
65 aaa.bbb.ccc.fff
3 aaa.bbb.ccc.ggg
57 aaa.bbb.ccc.hhh
たとえばこんな感じでIPごとのアクセス数を集計。
フィルタが必要ならばawk or grep などで正規表現を使えばよろし。日付でフィルタをしてみるとこんな感じ。
awk '/24\/Dec\/2017/ {print $1;}' access_log|sort |uniq -c
$1はカンマ区切りでそれぞれの行の1つ目の要素を示しているのでこの数値を変えればアクセス元やアクセス先のURLで集計できます。
awkはちょっとハードルが高いですが覚えるととても便利ですよ~
