Uma solução GNU awk usando vetores bidimensionais :
gawk -F $'\t' '{a[][]++} END {for (i in a) for (j in a[i]) print i, j, a[i][j]}' foo.txt
-
a[][]++
para cada combinação de primeiro nome e sobrenome, incrementar a contagem - Em seguida, percorra os primeiros nomes e os nomes das empresas associados a cada nome.
Outra maneira de trabalhar com outros awk
s usando a forma mais antiga de matrizes multidimensionais:
awk -F $'\t' '{a[, ]++} END{for (i in a) {split (i, sep, SUBSEP); print sep[1], sep[2], a[i]}}' foo.txt
- Como o método antigo realmente usa uma concatenação dos índices separados por
SUBSEP
, temos que dividir emSUBSEP
para recuperar os índices originais.