Aqui está a solução usando o awk:
awk -F " " '
NR==1 {print; next}
NF {a[$1" "$2]+=$3; b[$1" "$2]+=$4; c[$1" "$2]++}
END {for(i in a)print i, a[i], b[i], c[i]}
' file
- > inputFile deve estar no diretório onde você está executando o comando
- > -F "" considera um único espaço como o delimitador
- > NR == 1 {print; next} imprime os cabeçalhos para imprimir e pula
- > array a [$ 1 "" $ 2] considera o grupo pelo valor da primeira coluna e do valor da segunda coluna. O mesmo para o array b e c.
- > + operador = resume a coluna necessária com base no grupo por de matriz
- > Operador ++ usado com array c armazena a contagem no grupo por
- > O último loop "for" é usado para imprimir os resultados na saída