如何计算特定列中的出现次数并将其总结

时间:2014-11-14 01:26:48

标签: awk

我刚刚开始使用awk,

所以这是输入

No | Band 
1  | 2G
2  | 3G
3  | 4G
4  | 2G
5  | 2G

,输出

Band | Sum
2G   | 3
3G   | 1
4G   | 1

非常感谢

2 个答案:

答案 0 :(得分:2)

tail -n +2 input.txt | cut -d'|' -f2 | sort | uniq -c
      3  2G
      1  3G
      1  4G

答案 1 :(得分:2)

试试这个

echo "No | Band 
1  | 2G
2  | 3G
3  | 4G
4  | 2G
5  | 2G "\
| awk -F'|' 'NR>1{
      band[$2]++
  }
  END{
    print "Band | Sum"
      for (x in band){
        print x" | " band[x]
      }
  }'

输出

Band | Sum
 3G | 1
 2G | 3
 4G | 1