假设我有这个文件
var1 300
var1 400
var3 600
var1 200
现在我如何比较$1(from line 1) == $1 (from line 2)
基本上我只想在名称相等的情况下添加列
仅限awk
输出应该是
var1 900
var3 600
答案 0 :(得分:1)
使用awk:
$ awk '{a[$1]+=$2;}END{for (i in a)print i, a[i];}' file
var1 700
var3 600
答案 1 :(得分: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