当我在LINUX中有一组包含10列和5行的数据时,如何查找第2列中ODD / EVEN行的平均值

时间:2014-02-24 16:21:06

标签: linux

当我在LINUX中有一组10列5行数据时,如何找到第2列中ODD / EVEN行的平均值? 有人可以帮忙吗。

例如:

1 2 3 4 5;

2 5 3 2 5;

3 4 4 7 9;

5 3 8 9 3:

列2的平均奇数行=(2 + 4)/ 2 = 3

列2的平均偶数行=(5 + 3)/ 2 = 4

1 个答案:

答案 0 :(得分:0)

这个awk成就了:

awk 'NR%2 {o+=$2; odd++; next}
     {e+=$2; even++}
     END{print "odd:", o/odd; print "even:", e/even}' file

对于您的示例文件,它返回:

$ awk 'NR%2 {o+=$2; odd++; next} {e+=$2; even++} END{print "odd:", o/odd; print "even:", e/even}' file
odd: 3
even: 4