首页 > 代码库 > awk 分组统计
awk 分组统计
文件aa.txt,格式为:
时间 url
2 url1
8 url3
2 url2
3 url1
4 url3
要求:在第二列url相同条件下,输出第一列最大值,第一列平均值,第二列出现相同url次数。
每行输出列格式为:第一列最大值、第一列平均值、第二列出现相同url次数、url
那么统计结果是:
8 6 2 url3
2 2 1 url2
3 2.5 2 url1
代码
平均值:awk ‘{a[$2]+=$1;b[$2]++}END{for(n in a)print a[n]/b[n]"\t"n}‘
相同url访问次数:cat aa.txt |sort +1 -2 |uniq -f 1 -c |awk ‘{print $1 "\t" $3}‘|sort -r -n
最长访问时间:awk ‘{max[$2]=max[$2]>$1?max[$2]:$1;number[$2]++;sum[$2]+=$1}END{for (i in max) print max[i], sum[i]/number[i],number[i],i}‘ OFS="\t" infile
awk 分组统计
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。