2017-02-28 4 views
1

以下のコマンドを使用して試行します。私は必要なものFILE3UNIXの異なるファイルから小数点を含む大きな数値を合計します。

"T"; 115;"SUM";37;  1063605.00 

でFILE2

"T"; 115;"SUM";37;   46772.39 

内容でfile1を

"T"; 115;"SUM";37;   99215.84 

内容で

awk 'FNR==NR {keys[FNR]=$2; cnt=FNR} {x[$2] += $3} END {for(i=1; i<=cnt; ++i) print keys[i],x[keys[i]]}' file1 file2 file3 

内容2番目と5番目のフィールドの合計であり、以下のように行を印刷する。フォーマットしてくれてありがとう@saisureshiva

"T"; 345;"SUM";37;  1209593.23 
+0

。 – Kunju

答えて

0
awk 'BEGIN{ 
      FS=OFS=";" 
      CONVFMT="%.2f" 
    } 
    { 
      c2+=$2; c5+=$5 
    } 
    END{ 
      $2=c2; $5=c5; 
      print 
    }' file1 file2 file3 
+1

素晴らしい!そのAkshayに感謝します。 – Kunju

関連する問題