awk 分組求和與統計

2022-07-01 08:27:08 字數 1401 閱讀 7488

一. 分組求和

1.對第乙個進行分組,對第二列的資料進行累加

awk -f '|' ' end }' srcfile > outfile

分組一般都是用x[$2]=x[$3]….的方式來實現的,其中x[$2]中的$2為要分的組,當然可以多個分組,x[$3]為要處理的值

例如 :

1> 以第五列分組,求第四列和

[root@localhost wms]# cat groupandsum.txt

john|p|physics|2|02/12/2002

rick|l|mechanical|1|02/12/2002

jack|t|electrical|3|03/12/2003

phil|r|electrucal|1|03/12/2003

mike|t|mechamical|2|10/12/2003

paul|r|chemical|2|10/12/2003

john|t|chemical|3|10/12/2002

tony|n|chemical|2|10/11/2003

james|r|electrucal|2|10/11/2003

# awk -f "|" ' end}' groupandsum.txt

03/12/2003 

4 02/12/2002 3

10/12/2002 3

10/12/2003 4

10/11/2003 4

2.以第一列 為變數名,第一列為變數將相同第一列的第二列資料進行累加列印出和

3.如果第一列相同,則根據第一列來分組,分別列印第二列和第三列的和

二. awk分組統計

1.根據第二列值統計第四的個數

awk -f'|' '}end}' a.log

例 :1> # cat a.log

1|aa|3|45|5|6|7|8|9|

2|aa|3|44|5|6|7|8|9|

3|aa|3|43|5|6|7|8|9|

4|aa|3|44|5|6|7|8|9|

# awk -f'|' '}end}' a.log

44|2

45|1

43|1

elasticsearch 分組求和

我使用的是elasticsearch6.4.3,resthighlevelclient獲取客戶端,直接上 吧 1 action 字段型別為long map map2 searchclient.searchgrouplong sourcebuilder,searchrequest,aggname,ag...

sql分組求和

需求是 乙個月有多個發布額,現在要求按月統計發布額,例如 1月發布額 35900,2月發布額 2300 sql 語句如下 按月分組,求和 select dmonth,codename,sum iamount from 求出全部日期,發布額 select convert varchar 7 a.dre...

awk 統計例項

個人比較懶,慢慢加了 一點一點重新做下記錄,時間久不用都忘記了 一 如 新建乙個a檔案,內容如下 1,5 1,2,3,4,5 1,2,3,4,5,1,5,5,5 1然後awk f end a 輸出為 1,2 1,52 第一列為1的出現4次,第五列為5 的出現2次 二 去除awk某列重複行 首先建立乙...