BEGIN { printf "%-8s %6s\n", "GROUP", "MEAN" } !($2 in seen) { seen[$2] = 1; order[++n] = $2 } { sum[$2] += $3; count[$2]++ } END { for (i = 1; i <= n; i++) { g = order[i] printf "%-8s %6.2f\n", g, sum[g] / count[g] } }