取列最大值:
awk '{max=max>$0?max:$0}END{print max}'
格式化第三列并保留两位小数输出:
awk '{ printf "%.0fG\n",$3/1024/1024/1024 }'
求和并计算平均值:
awk '{ sum += $2 ; average = sum/NR} END { printf "%.2fG\n", average}'
例如有文件内容如下图:
最右边的数值表示数据。计算一下数据的和
$ cat /tmp/hoge.data | awk '{ sum += $7 } END { print sum }'1070
最开始的{} ,定义sum变量,累加数据。
最后,在END内 print sum 输出和.
然后,计算一下平均值。
$ cat /tmp/hoge.data | awk '{ sum += $7; } END { print "sum = " sum; print "average = " sum/NR }'
sum = 1070
average = 356.667