Bashコマンドで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 で行をカウント