ksaitoの日記

日々試したことの覚え書き

集計する

移転しました。

自動的にリダイレクトします。

[ワンライナー][シェル]集計する
awkコマンドでよく使うワンライナーです。
テキスト中の文字列を集計する場合に使います。
例えば、sudoコマンドを使って毎日どこくらいroot権限を利用しているか数えるとします。
sudoは、/var/log/auth.logに記録されるので、下記のようにsudoに絞ってawk連想配列(ハッシュ)を使って日付文字列ごとに数を数えます。
Webサーバのアクセスログやsyslogの傾向を掴むのに重宝します。

$ grep sudo auth.log | awk '{count[$1$2]++} END {for (name in count) print name, count[name]}'
May24 28
May25 7
May26 12
May27 48
$