今天有朋友向我請教對一個access log文件裏按URL+IP進行pv和響應時間統計,順便寫了個awk腳本,在此分享一下dom
access log格式
第一列爲域名,第二列爲響應時間 第三列爲用戶ipide
www.baidu.com 1 1.1.1.1 www.baidu.com 1 2.2.2.2 www.baidu.com 3 1.1.1.1 www.baidu.com 1 1.1.1.1 www.baidu.com 1 1.1.1.1 www.baidu.com 5 1.1.1.1 www.baidu.com 1 2.2.2.2 www.baidu.com 1 2.2.2.2 www.google.com 2 2.2.2.2 www.google.com 1 2.2.2.2 www.google.com 2 2.2.2.2 www.google.com 3 2.2.2.2 www.google.com 2 2.2.2.2 www.google.com 4 1.1.1.1 www.google.com 2 1.1.1.1 www.google.com 2 1.1.1.1 www.google.com 5 1.1.1.1
腳本內容google
#!/bin/awk awk 'BEGIN{ print "count\tdomain\t\tip\tavg\tmax\tmin" }{ count[$1"\t"$3]+=1; sum[$1"\t"$3]+=$2; if (max[$1"\t"$3] < $2){ max[$1"\t"$3] = $2 }; if (min[$1"\t"$3] == ""){ min[$1"\t"$3] = $2 }; if (min[$1"\t"$3] > $2){ min[$1"\t"$3] = $2 } }END{ for (i in count){ print count[i]"\t"i"\t"sum[i]/count[i]"\t"max[i]"\t"min[i]; } }' /tmp/access.log
執行效果
3d