-2

我需要帮助来使用 awk 对多个文件进行一些操作。我总共有 500 个文件,每个文件包含 800 行数据,有两列(第一列和第二列)。

我希望添加每个文件(来自所有 500 个文件)的第一行第二列,并计算平均值并存储在一个新的输出文件中(比如说 average.out)。

然后它继续到所有文件(所有 500 个文件)的第二行第二列并计算平均值并存储在 average.out 中。它一直持续到“average.out”文件包含 800 行。

在继续对我的数据进行其他计算之前,我非常需要解决这个计算。希望我能有所了解。

提前致谢。

4

1 回答 1

3

这将显示所有行号及其平均值。

awk '{a[FNR]=a[FNR]+$2;b[FNR]++;}END{for(i in a){print i,a[i]/b[i]}}' *your_file*

例如:

line_number its_average。

测试如下:

> cat temp
1 10 
2 28
3 20
4 79
> cat temp2
1 12 
2 30
3 22
4 81
> awk '{a[FNR]=a[FNR]+$2;b[FNR]++;}END{for(i in a){print i,a[i]/b[i]}}' temp temp2
2 29
3 21
4 80
1 11
于 2012-11-07T09:05:42.820 回答