#!/usr/bin/awk -f # vim: ft=awk ts=4 sw=4 et { rep[$2] = 1; all += $3; pred[$1] += $3; kind[$1 "-" $2] += $3; } END { for (p in pred) { for (r in rep) { printf "%-8s %-20s %15.0f (%5.2f%%, %5.2f%%)\n", p, r ":", kind[p "-" r], (100 * kind[p "-" r]) / pred[p], (100 * kind[p "-" r]) / all; } printf "%-29s %15.0f (%7s %5.2f%%)\n\n", p ":", pred[p], "", (100 * pred[p]) / all; } }