2016-11-28 11 views
-1

ファイル内の1つの列の数値の平均が巨大になるように1行のコマンドを設定する必要があります。複数の列が含まれているため、大きなファイルから必要なファイル名と列の数の大きなファイルの特定の列の平均を取得する1行のコマンド

Example: # avgerage_column 3 test 

average_column should be the script 
3 is the number of the column in the big file 
test is the big file 


Sample: 

210 56687 1792 18 55 26 1 
188 21949 961 9 57 34 0 
201 1257 521 1 46 54 0 
260 11455 641 4 47 49 0 
244 16466 756 7 38 55 0 
54 1570 651 1 14 85 0 
161 619 583 0 28 72 0 
88 479 600 0 26 74 0 
30 394 670 0 37 63 0 
    6 3713 369 3 79 18 0 
24 16109 553 16 60 24 0 
    7 877 482 0 68 32 0 
84 845 525 0 63 36 0 
31 844 492 0 79 21 0 

おかげAWKで

+0

は、あなたがこのために 'awk'を使用することはできますか?これを巡る質問はたくさんあります。 – Inian

答えて

0

awk 'BEGIN { total = 0; count = 0 } { total += $3; count += 1; } END { avg = total/count; print avg} ' input.txt 
  • $ 3
  • INPUT.TXTは、あなたの大きなファイルである3番目のフィールドです。

出力:

685.429 
+0

それから、$ 1が$ 3で編集した後にスクリプト内にその行を追加することができます。$ 1は私の最初の引数です。$ 2を使って入力することもできます。#必要なコマンドは#your_codeです3 input.txt – mshafey

+0

@mshafeyあなたがbashスクリプトを作成し、いくつかの変数にパラメータを割り当てて、それをこのAWKスクリプトの一部として使用できることを確かめてください。私はそれをあなたに任せます。 – dood

関連する問題