awk求列排重、累加的写法;
测试数据a.txt:
a 2
b 3
c 6
a 8
d 9
希望结果:
第1列是第一字段重复的次数;
第2列是第一字段去重复;
第3列是第一字段重复的第二字段累加;
2 a 10
1 b 3
1 c 6
1 d 9
我自己写了个awk '{count[$1]+=$2}END{for(i in count)print i,count[i]}' a.txt,只能实现第2、3列的功能,请各位高手帮改改,感谢!
a 2
b 3
c 6
a 8
d 9
希望结果:
第1列是第一字段重复的次数;
第2列是第一字段去重复;
第3列是第一字段重复的第二字段累加;
2 a 10
1 b 3
1 c 6
1 d 9
我自己写了个awk '{count[$1]+=$2}END{for(i in count)print i,count[i]}' a.txt,只能实现第2、3列的功能,请各位高手帮改改,感谢!
作者: spouter 发布时间: 2011-06-08
回复 spouter
再加一个用来计数的数组就可以实现了...再想想....很简单的
再加一个用来计数的数组就可以实现了...再想想....很简单的
作者: 南极雨 发布时间: 2011-06-08
- awk '{a[$1]+=$2;b[$1]++}END{for(i in a)print b[i],i,a[i]}' file
- 2 a 10
- 1 b 3
- 1 c 6
- 1 d 9
作者: zooyo 发布时间: 2011-06-08
回复 南极雨
谢谢指点!
谢谢指点!
作者: spouter 发布时间: 2011-06-08
回复 zooyo
谢谢
谢谢
作者: spouter 发布时间: 2011-06-08