このファイルがあるとします
var1 300
var1 400
var3 600
var1 200
ではどうやって比較すればよいのでしょうか$1(from line 1) == $1 (from line 2)
基本的に、名前が等しい場合に列を追加したいだけです
のみawk
出力はbr
var1 900
var3 600
awk の使用:
$ awk '{a[$1]+=$2;}END{for (i in a)print i, a[i];}' file
var1 700
var3 600
ファイルが大きい場合、および/または入力順序を維持することに関心があり、入力が最初のフィールドでソートされている場合は、@ Guru のソリューションよりもこれを使用してください。
$ awk '(NR>1) && ($1!=p){print p, s; s=0} {p=$1; s+=$2} END{print p, s}' file
var1 700
var3 600