我有一个“简单”的问题,但我还没有找到答案,也没有让我的代码正常工作。我有很多列,我想将最后一列的平均值附加到所有列。例如,假设我有:
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
1 1 1 1 1
第 5 列的平均值为 2.5。我可以计算平均值,但我想要的是:
2 2 2 2 2 2.5
3 3 3 3 3 2.5
4 4 4 4 4 2.5
1 1 1 1 1 2.5
如有帮助,将不胜感激。
答案1
和awk
:
$ awk '$(NF+1) = 2.5' file
如果您想awk
为您完成所有工作:
$ awk '
FNR == NR { s += $5; i++; next }
{ $(NF+1) = s/i; print }
' file file
2 2 2 2 2 2.5
3 3 3 3 3 2.5
4 4 4 4 4 2.5
1 1 1 1 1 2.5