Você pode usar awk
para adicionar tudo.
awk '{ arr[$2] += $1} END {for (key in arr) {printf "%4s %s\n", arr[key], key}}' file1 file2
Explicação
-
{ arr[$2] += $1}
set o índice da matriz da nossa string, também conhecido como$2
to+=
, o número$1
-
END
Quando terminarmos -
{for (key in arr) {printf "%4s %s\n", arr[key], key}}
Faz um loop por tudo e imprime.
O que eu fiz para testá-lo
arquivo1
7 umslipped
1 umslippersmouthwashand
3 umslobagas
35 umslopogaas
5 (umslopogaas
15 (umslopogaas)
1 umslower
6 umsmall
2 umsnag
2 um[snaps
13 umsnootchie
2 umsnow
84 umso
14 um-so ##
arquivo2
14 um-so ##
84 umso
2 umsnow
13 umsnootchie
2 um[snaps
2 umsnag
6 umsmall
1 umslower
15 (umslopogaas)
5 (umslopogaas
35 umslopogaas
3 umslobagas
1 umslippersmouthwashand
7 umslipped
Saída
10 (umslopogaas
12 umsmall
6 umslobagas
28 um-so
2 umslippersmouthwashand
30 (umslopogaas)
70 umslopogaas
26 umsnootchie
4 umsnag
168 umso
4 um[snaps
14 umslipped
4 umsnow
2 umslower