参照
Apache コマンドラインでアクセスログを解析するワンライナー
解析前
sedコマンド
$ sed -n 10,20p file
10-20行目を表示する
grep
【linux】指定した単語を除外してgrepしたい【コマンド】
-v で除外ぐらい覚えておくぐらいで良いかも
$ grep ".html" access_log access_log の .htmlを検索
$ grep -v ".html" access_log access_log の .htmlを除外した物を検索
grep ".html" access_log | grep -v ".css" > access_log_temp
検索して access_log_tempに出力
解析
並び変え、ユニークの判別がメイン
cut -f1,12-30 -d' ' access_log_temp | sort | uniq | wc
cut コマンドで -d' ' で指定された文字で分割(※この場合は ' ' で半角スペース) cut -f1 ならその1つ目、 -f1-3 で 1から3 -f1,12-30 とかで 1と12から30など指定できる。
sort で並び替え
uniq でユニーク以外を削除
wc で行をカウント