请注意,本文编写于 1814 天前,最后修改于 1814 天前,其中某些信息可能已经过时。
分组求和
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