awk 常用命令

取列最大值:

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

猜你喜欢

转载自blog.csdn.net/qq_24027457/article/details/80733448