分组求和

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

以第一列 为变量名 第一列为变量,将相同第一列的第二列数据进行累加 打印出和

awk '{s[$1" "$2] += $3}END{ for(i in s){  print i, s[i] } }'  filename

以第一列和第二列为变量名, 将相同第一列、第二列的第三列数据进行累加 打印出和

awk '{s[$1] += $2; a[$1] += $3 }END{ for(i in s){  print i,s[i],a[i] } }'  file

如果第一列相同,则根据第一列来分组,分别打印第二列和第三列的和

扩展使用,按小时统计当前目录下文件大小。

ls -l --time-style '+%Y/%m/%d-%H' |awk '{s[$6] += $5}END{ for(i in s){ print i,s[i]/1024/1024" MB"} }' |sort -n
最后修改:2020 年 02 月 04 日
如果觉得我的文章对你有用,请随意赞赏