awk做統計和計算平均值


awk分組求和分組統計次數

 

分組求和

awk '{s[$1] += $2}END{ for(i in s){  print i, s[i] } }' file1 > file2

 

以第一列 為變量名  第一列為變量,將相同第一列的第二列數據進行累加打印出和.

awk

以第一列和第二列為變量名, 將相同第一列、第二列的第三列數據進行累加打印出和

awk

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

awk

匹配

1、匹配交集項

如果file1、file2中,2個文件的第一列值相同,輸出第2個文件的所有列

注意:數據量如果達到4Gb以上或者行數達到一億級別,建議將file2進行split分割,否則就算是32G的內存的機器都會被吃掉;

awk

如果file1、file2中,2個文件的第一列第二列值相同,輸出第2個文件的所有列

awk

2、匹配非交集項

針對2個文件的第一列做比較,輸出:在file2中去除file1中第一列出現過的行

awk

第二種方法:

取最大值、最小值

1、針對(2列的文件)

第一列不變,取第二列分組最大值

第一列不變,取第二列分組最小值

2、針對單列的文件

求和、求平均值、求標准偏差

求和

求平均

求標准偏差

整合行和列

1、列換成行

如果第一列相同,將所有的第二列 第三列 都放到一行里面

awk

2、合並文件

2個文件,每個2列,將他們按照第一列相同的數,來合並成一個三列的文件,同時,將每個文件中針對第一列對應第二列中沒有的數補0

注意點:文件2 一定要比文件1 的行數小

3、2個文件,每個3列,將他們按照第一列、第二列相同的數,來合並成一個4列的文件,同時,將每個文件中針對第一列、第二列對應第3列中沒有的數補0

4、將列換成行,遇到空行,另起下一行

5、某列數字范圍篩選

注意點:awk使用函數時,使用'"$a"'(先單引號,后雙引號)

集合類

awk

1、集合交

2、集合差

3、集合全集去重

4、集合全集不去重

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM