O que você parece querer é chamado de cross tabulation ou tabela de contingência .
Embora seja certamente possível implementar uma solução usando ferramentas genéricas, como awk
, perl
ou python
, a abordagem mais fácil que IMHO seria instalar GNU datamash - você pode então fazer diretamente
datamash --sort --whitespace --filler=0 crosstab 2,1 sum 3 < file
Se houver apenas uma entrada por par (como parece ser o caso no seu exemplo), você poderá usar unique
no lugar de sum
.
Você também pode fazer tabulação cruzada em muitos aplicativos de planilha, nos quais normalmente são chamadas de tabelas dinâmicas .