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