在数字列表中使用awk-to-bin值

在数字列表中使用awk-to-bin值,awk,Awk,我有一个由许多列组成的大型数据文件,我想将第三列存储在一个单独的文件中 我所说的binning指的是: 我有一个数字列表,上面写着: 1 4 1 1 1 1 我想要(比如)三组连续数字的平均值 我的最终输出应该是 2 1 第一个条目是 1 4 1 第二项是接下来三个数字的平均值 1 1 1 如何使用awk实现此目的?使用此awk命令: awk '{sum+=$1} NR%3==0 {print sum/3; sum=0}' inFile +1.同样awk'{sum=$1;getline

我有一个由许多列组成的大型数据文件,我想将第三列存储在一个单独的文件中

我所说的binning指的是:

我有一个数字列表,上面写着:

1
4
1
1
1
1
我想要(比如)三组连续数字的平均值

我的最终输出应该是

2
1
第一个条目是

1
4
1
第二项是接下来三个数字的平均值

1
1
1
如何使用awk实现此目的?

使用此awk命令:

awk '{sum+=$1} NR%3==0 {print sum/3; sum=0}' inFile

+1.同样
awk'{sum=$1;getline;sum+=$1;getline;sum+=$1;print sum/3}
非常感谢@glennjackman使用getline也是计算平均值+1的一种很好的方法。不要为此使用getline。想象一下,如果OPs需求变为平均7个而不是3个,会产生什么影响。