Em awk
array são associativos, então os seguintes trabalhos:
awk '{ vect[$1] += $2 };
END { for (item in vect) print item, vect[item] }' input-file
Estou procurando uma maneira de resolver esse problema em awk
. Entrada:
X 1
Y 2
Z 3
X 4
Y 5
A saída deve ficar assim:
X 5
Y 7
Z 3
Eu vejo dois problemas aqui: o primeiro é a referência indireta em awk
. É possível?
Funcionaria desta maneira: se $$1 (X) exists add $2 else declare $$1 (X) then add $2
Mesmo se eu descobrir como fazer isso, ainda precisarei saber o nome de todas as variáveis declaradas, ou seja, X, Y, Z.
Eu estou supondo que há uma maneira mais simples de lidar com essa tarefa, mas não consigo descobrir ...
Tags text-processing awk