我有一个如下所示的文件:
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中做到这一点?
使用awk
:
awk '{print $1" "($2+$3+$4)/3}' file
更一般地说,对于任意数量的列
$ 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