间接引用又称为 awk 中的值的值

间接引用又称为 awk 中的值的值

我正在寻找一种方法来解决这个问题awk。输入:

X 1
Y 2
Z 3
X 4
Y 5

输出应如下所示:

X 5
Y 7
Z 3

我在这里看到两个问题:第一个是awk.有可能吗?
它会这样工作:即使$$1 (X) exists add $2 else declare $$1 (X) then add $2
我知道如何做到这一点,我仍然需要知道所有声明变量的名称,即 X,Y,Z。

我猜有一种更简单的方法来处理这个任务,但我不明白......

答案1

awk数组中是关联的,因此以下工作有效:

awk '{ vect[$1] += $2 }; 
 END { for (item in vect) print item, vect[item] }' input-file

相关内容