シェルコマンドでsqlのgroup by xxx order by count(1)をやってみる

apacheのアクセスログのIPの種類とそれぞれのカウントをとってみる。

sqlだったらこんな感じになる。(apacheログを格納するhttpdlogテーブルがあると仮定して)

select count(1),ipaddr from httpdlog group by ipaddr order by count(1);

これをシェルコマンドだけでやるとしたらこんな感じ。

awk '{print $1}' httpd.log | sort | uniq -c | sort -nr

ちょっとしたログの確認とかに便利。