正文
awk对列/行进行统计求和【转】
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
场景】--类似于excel中的sum函数对列/行进行统计求和
A01
A02
A03
A09
【要求1】--对列进行统计求和
A01
A02
A03
A09
TOTAL
【要求2】--对行进行统计求和
A01
A02
A03
A09
代码实现1
[li0924@localhost awk]$ awk '{for(i=2;i<=NF;i++)a[i]+=$i;print}END{printf "TOTAL \t";for(j=2;j<=NF;j++)printf a[j]"\t"; print""}' inputfile
A01
A02
A03
A09
TOTAL
【解析】
把每列的总和用数组a[i]来表示;用for(i=2;i<=NF;i++)来打印每列的总和
代码实现2
[li0924@localhost awk]$ awk '{b[NR]=$0; for(i=2;i<=NF;i++)a[NR]+=$i;}END{for(i=1;i<=NR;i++) print b[i]"\t"a[i]}' inputfile
A01
A02
A03
A09
转自
awk处理案例六 - li0924 - 博客园 http://www.cnblogs.com/lottu/p/3320443.html