原始日志格式文本如下:
#cat a.lst
10.10.1.1 http://www.hao.com/1.html
10.10.1.2 http://www.hao.com/2.html
10.10.1.3 http://www.hao.com/3.html
10.10.1.4 http://www.hao.com/4.html
10.10.1.2 http://www.hao.com/1.html
10.10.1.1 http://www.hao.com/1.html
10.10.1.1 http://www.hao.com/2.html
10.10.1.2 http://www.hao.com/3.html
10.10.1.1 http://www.hao.com/1.html
10.10.1.3 http://www.hao.com/2.html
求教一shell脚本或perl脚本处理后生成如下报表:
url 独立ip pv
--------------------------------------------------------------------
http://www.hao.com/1.html 2 4
http://www.hao.com/2.html 3 3
http://www.hao.com/3.html 2 2
http://www.hao.com/4.html 1 1
总结:即通过url计算每个url的独立ip数和pv数,并可按pv数或者独立ip数量进行排序。
【未验证】解决方法有以下三种,有时间再验证吧,先自己留个记录
awk '{if($2 in a){split(a[$2],c," "); c[2]++;if(!match(b[$2],$1)) {c[1]++;b[$2]=b[$2]" "$1;} a[$2]=c[1]" "c[2];} else {a[$2]="1 1";b[$2]=$1}} END{for(i in a)print i,a[i]}' file
awk '!($0 in a){a[$0];a[$2]++}{b[$2]++}END{for(i in b)print i,a[i],b[i]}' urfile | sort
awk '{if(!a[$1,$2]++)b[$2]++;c[$2]++}END{for(i in b)print i,b[i],c[i]}' urfile |sort
转载于:https://blog.51cto.com/chenx1242/1774126