我有一個問題,我有一組數據行中的某些行屬於一個組。如何使用awk來聚合數據行
E.g
Apple 0.4 0.5 0.6
Orange 0.2 0.3 0.2
Apple 0.4 0.3 0.4
Orange 0.4 0.5 0.8
的問題是我怎麼能相應地自動用awk聚集列。在過去,我會輕鬆地與手動以下awk的每個文件處理..
awk '{col2[$1]+=$2; col3[$1]+=$3; col4[$1]+=$4} END {for(i in col2){printf("%s\t%.2f\%.2f\t%.2f\n",i,col2[i]/2,col3[i]/2,col4[i]/2)}}' myfile
但圍繞我處理不同的NF(場數)幾個文件這個時候,我嘗試發出命令來自動計算組的平均值。 最終,我們將有
Apple 0.4 0.5 0.5
Orange 0.3 0.4 0.5
請指教。謝謝。
你怎麼得到蘋果0.4 0.5 0.5 ?? – ghostdog74 2010-01-19 06:34:18
糟糕,應該是 Apple 0.4 0.4 0.5 錯字錯誤。道歉。 – joey 2010-01-19 06:40:49
您可以編輯您的問題。 – 2010-01-19 14:21:02