ログファイルデータの整理

ログファイルからアクセスの多いIPアドレスを抜き出す作業を行い、整頓系のコマンドに多く触れることとなりました。

http://blog.nomadscafe.jp/2012/07/sort-uniq.html

まずはtailでデータを並べます。初心者の我々はcatとか連発してエラーを出しがちなので注意。 http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230894/

tail -n 10000 ${ログファイル}

あとはgrepやsort、uniqで表示を操作します。 「grep -v」を使うと抜き出すのでなく逆に無視することができるようです。 アクセスの多いアドレスを調べるときは「uniq -c」を使いましょう。カウント数が表示されます。ただその数が各行の頭に出てきてしまうのでIP参照の際には注意しましょう。

各行の文で、何番目に表示されている項目を見たい、などという時にawkというコマンドも使用できますが、ルールが少し複雑なようなので次回纏めたいと思います。

大体自分が作ったIP整列コマンドはこんな感じになりました。

tail -n 20000 ${ログファイル} | grep -v "画像の拡張子など" | awk '{print $1 }'|sort | uniq -c | sort -b -n -r | head -n ${NUMBER}