码迷,mamicode.com
首页 > 编程语言 > 详细

awk数组结合+=统计题

时间:2017-06-18 16:46:57      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:就会   ash   变量   思路   分隔符   int   awk数组   数值   结合   

文件如下

61.144.83.198 594
61.144.83.198 576
61.144.83.198 573
219.137.178.228 570
219.137.178.228 565
61.144.83.198 553
61.144.83.198 550
61.144.83.198 549

  

每一行以空格为分隔符,第一列是ip,第二列为不定数值

需求,现在想要将相同ip后的不定数值相加统计出来

awk ‘{a[$1]+=$2}END{for(i in a)print i,a[i]}‘ file

  

思路:

将ip作为a[]数组的下标,将$2中的内容赋值给a[$1]即a[ip],得到数组a[ip]=value

执行语句a[ip]+=value,这样同样的a[ip]中的值就会与下一行的$2相加,然后得到新的值,继续执行

直到文件末尾执行完毕

 

END模块

用变量i读取数组的下标,再取出数值a[i]即value值

最终得到结果

awk数组结合+=统计题

标签:就会   ash   变量   思路   分隔符   int   awk数组   数值   结合   

原文地址:http://www.cnblogs.com/irockcode/p/7044541.html

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