2016-08-23 4 views
0

5つのフィールドに10行のデータを持つファイルがあります。ファイルの3番目のフィールドの合計を取得します。Unix--ファイルから3番目のフィールドの合計を取得

サンプル:

a,b,1,4,5 
c,d,3,4,6 
f,h,4,y,j 

O/p: 1+3+4= 8 

私のソリューションは、カットコマンドを使用して3番目のフィールドをカットし、別のファイルに書き込み、その後、合計を計算するためのawkを使用しています。

他の方法はありますか?

+1

'のawk -F、 '{$ 3印刷}; END {印刷は "すべて完了"}' file'はあなたの手掛かりを与えるだろう。あなたは** awkへの1回の呼び出しでそれをすべて行うことができます。パイプは使用しないでください。がんばろう。 – shellter

答えて

4

私はこれがあなたが必要とするすべてだと思う:

awk -F, '{ sum += $3 } END {print sum}' filename 
+0

OPの正確な出力を得るには、 'awk -F、 '{printf"%s%s "、sep、$ 3; sep = "+"; sum + = $ 3} END {print "="、sum} "ファイル" –

関連する問題