我有一个看起来像这样的文件:
length_1 10 5 7
length_2 8 3 2
length_3 3 2 1
..
length_999 1 5 4
我希望计算3列的平均值(平均值):
length_1 7.3333
length_2 4.3333
length_3 2
..
length_999 2.6666
在linux中有一个简单的方法吗?
答案 0 :(得分:3)
使用awk
:
awk '{print $1" "($2+$3+$4)/3}' file
答案 1 :(得分:3)
更一般地说,对于任意数量的列
$ awk -v OFS='\t' 'NF>1 {s=0; for(i=2;i<=NF;i++) s+=$i;
print $1, s/(NF-1)}' file
length_1 7.33333
length_2 4.33333
length_3 2
length_999 3.33333