-2

awk を使用して複数のファイルを操作する際に助けが必要です。合計 500 個のファイルがあり、各ファイルには 2 つの列 (1 列目と 2 列目) を持つ 800 行のデータが含まれています。

各ファイルの最初の行、2 番目の列 (500 個のファイルすべてから) を追加して平均を計算し、新しい出力ファイル (average.out としましょう) に保存します。

次に、全ファイル (全 500 ファイル) の 2 行 2 列目に進み、平均を計算して 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 その平均。

以下でテストしました:

> 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 に答える