$ awk '{ sum[$1] += $2; count[$1] += 1 } END { for ( key in count ) { print key, sum[key] / count[key] } }' input
Sample_A 150
Sample_B 200
Para obter uma média, você precisa de duas coisas: uma contagem do número de entidades em média e a soma desses valores. Usamos uma matriz, count
para a primeira e uma matriz sum
para a última. As chaves em cada matriz são atribuídas à primeira coluna no seu arquivo de dados.
Em seguida, usamos uma cláusula END
quando os dados estão sendo coletados para examinar cada matriz para obter as somas e contagens, dividir uma pela outra e exibir os resultados.
O script awk
, reformatado para não estar em uma linha, é assim:
{
sum[$1] += $2
count[$1] += 1
}
END {
for (key in count) {
print key, sum[key] / count[key]
}
}