Problem:
------------------------------------------------------------------------------------------------------------------------
比如一个文件为:
a 3
b 2
c 4
a 5
d 1
c 2
我要得到唯一的第一列的总和的前三名
就是
a的和为8
c的和为6
然后再按照和排序
a 8
c 6
b 2
d 1
然后得到前三
Solution:
------------------------------------------------------------------------------------------------------------------------
[root@SGDVG405 zhu]# cat datafile
a 3
b 2
c 4
a 5
d 1
c 2
[root@SGDVG405 zhu]# cat datafile |awk '
{
a[$1] += $2;
}
END{
for(i in a) print i,a[i];}
'
a 8
b 2
c 6
d 1
[root@SGDVG405 zhu]#
最好用sort -k2,2nr 排序
------------------------------------------------------------------------------------------------------------------------
比如一个文件为:
a 3
b 2
c 4
a 5
d 1
c 2
我要得到唯一的第一列的总和的前三名
就是
a的和为8
c的和为6
然后再按照和排序
a 8
c 6
b 2
d 1
然后得到前三
Solution:
------------------------------------------------------------------------------------------------------------------------
[root@SGDVG405 zhu]# cat datafile
a 3
b 2
c 4
a 5
d 1
c 2
[root@SGDVG405 zhu]# cat datafile |awk '
{
a[$1] += $2;
}
END{
for(i in a) print i,a[i];}
'
a 8
b 2
c 6
d 1
[root@SGDVG405 zhu]#
最好用sort -k2,2nr 排序
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2429/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
评论列表