码迷,mamicode.com
首页 > 其他好文 > 详细

awk 分组统计

时间:2014-11-30 00:12:58      阅读:888      评论:0      收藏:0      [点我收藏+]

标签:sp   for   文件   bs   代码   时间   nbsp   file   ca   

文件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 分组统计

标签:sp   for   文件   bs   代码   时间   nbsp   file   ca   

原文地址:http://www.cnblogs.com/dongzhiquan/p/4132172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!