![如何计算每行的平均值(不包括每行的第一个值)?](https://linux22.com/image/70546/%E5%A6%82%E4%BD%95%E8%AE%A1%E7%AE%97%E6%AF%8F%E8%A1%8C%E7%9A%84%E5%B9%B3%E5%9D%87%E5%80%BC%EF%BC%88%E4%B8%8D%E5%8C%85%E6%8B%AC%E6%AF%8F%E8%A1%8C%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%80%BC%EF%BC%89%EF%BC%9F.png)
我计算每行的平均值,但不包括第一个值。例子:
1 12 13 14 15 16 17 18
2 21 22 23 24 25 26 27 28 29
... --------
我想要的输出就像
1 15
2 25
....
答案1
一个perl
一:
perl -MList::Util=sum -ane 'printf "%s %s\n", shift @F, sum(@F)/(@F?@F:1)' file
1 15
2 25
答案2
您可以尝试使用awk
:
awk '{ s = 0; for (i = 2; i <= NF; i++) s += $i; print $1, (NF > 1) ? s / (NF - 1) : 0; }' file
结果:
1 15
2 25