とあるawkのログ集計法
今日似たようなことを質問されたので、忘れないようにメモ。
例
次のようなフォーマットのApacheアクセスログがある。
66.249.69.115 - - [19/Feb/2011:00:00:22 +0900] "GET /dp/user/login?destination=forum%2F60%3Fpage%3D1 HTTP/1.1" 200 63005 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.69.115 - - [19/Feb/2011:00:00:24 +0900] "GET /dp/aggregator/archives/www.cbsnews.com/2009/01/2009/08/30/free-the-h-1bs-free-the-economy?page… HTTP/1.1" 200 112495 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
ここでは、対象ファイルには、事前の操作でその日1日(0:00:00~23:59:59)のログがまとめられているとする。
ここからアクセス元IP毎に、何時何分にアクセスがあったかを集計する。
# awk -F[/:" "] '{IP[$7":"$8]=$1}END{for(i in IP)print IP[i],i}' LOG | sort | awk '{T[$1]=T[$1]" "$2}END{for(i in T)print i" ----"T[i]}' | sort -t. -k1 -n
- とあるawkのログ集計法 の続きを見る
- コメント数 1
- コメントを投稿するにはログインまたは登録をしてください
- 閲覧数 6