2016-11-28 21 views
-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 

感謝

+0

您可以用'awk'這個?有很多問題需要解決。 – Inian

回答

0

在AWK:

awk 'BEGIN { total = 0; count = 0 } { total += $3; count += 1; } END { avg = total/count; print avg} ' input.txt 
  • $ 3是第三個字段
  • input.txt是您的大文件。

輸出:

685.429 
+0

然後我可以在$ 1編輯$ 3後在腳本中添加該行,因爲$ 1是我的第一個參數..還可以用$ 2編輯input.txt ....#需要的命令是#your_code 3 input.txt – mshafey

+0

@mshafey確定你可以創建一個bash腳本,將這些參數賦值給一些變量,並將它們用作這個AWK腳本的一部分,我會讓你知道的。 – dood