【发布时间】:2015-07-22 08:04:54
【问题描述】:
我有一个包含 10 列的数据文件,如下所示
ifile.txt
2 4 4 2 1 2 2 4 2 1
3 3 1 5 3 3 4 5 3 3
4 3 3 2 2 1 2 3 4 2
5 3 1 3 1 2 4 5 6 8
我想添加第 11 列,它将显示 10 列中每行的平均值。即 AVE(2 4 4 2 1 2 2 4 2 1) 等等。虽然我的以下脚本运行良好,但我想让它更简单、更简短。提前感谢您在这方面的任何帮助或建议。
awk '{for(i=1;i<=NF;i++){s+=$i;ss+=$i}m=s/NF;$(NF+1)=ss/NF;s=ss=0}1' ifile.txt
【问题讨论】:
-
您可以完全删除 m 变量及其分配,因为您从不使用它。
标签: linux shell unix awk average