shell计数


 

cat 20171015_datarecord.txt| awk -F '_' '{a[$1]++} END {for (i in a) {print i,a[i]|"sort -k 2"}}'

 

1.$1作为变量a(字典)的key,++进行计数;

2.i in a进行遍历取值;

3.sort -k 2,以打印结果的第二个作为排序依据。

 

 cat a.txt |awk -F '|' '!a[$0]++ {b[$1]++} END {for (i in b) {print i,b[i]|"sort -k2r"}}'

 

cat a.txt

a|2
a|3
b|1
c|2
b|1
a|1
b|10
c|0
c|11

 

去重后,根据第2列,降序排列。

!a[$0]++为判断没有相同记录时,b[$1]++记录$1出现次数。

a 3
c 3
b 2

 

注:cat a.txt |awk -F '|' '!a[$0]++ {b[$1]+=$2} END {for (i in b) {print i,b[i]|"sort -k 1r"}}'

去重后,对key进行v的求和。

c 13
b 11
a 6


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM