0

このファイルがあるとします

var1 300
var1 400
var3 600
var1 200

ではどうやって比較すればよいのでしょうか$1(from line 1) == $1 (from line 2)

基本的に、名前が等しい場合に列を追加したいだけです

のみawk

出力はbr

var1 900
var3 600
4

2 に答える 2

1

awk の使用:

$ awk '{a[$1]+=$2;}END{for (i in a)print i, a[i];}' file
var1 700
var3 600
于 2013-01-16T02:43:20.383 に答える
1

ファイルが大きい場合、および/または入力順序を維持することに関心があり、入力が最初のフィールドでソートされている場合は、@ Guru のソリューションよりもこれを使用してください。

$ awk '(NR>1) && ($1!=p){print p, s; s=0} {p=$1; s+=$2} END{print p, s}' file
var1 700
var3 600
于 2013-01-16T03:02:45.790 に答える