#!/bin/sh if [ $# -ne 0 ]; then echo "usage: golf" >&2 exit 1 fi awk 'BEGIN { np = 0 ; isms = 0; minscore = 0} {if(NF > 1) { golfer = $1 for (i = 2; $i != "--"; i++) golfer = golfer" "$i g[np] = golfer score[np] = $(i+1) if (score[np] != "missed") { if (!isms) { minscore = score[np] maxscore = score[np] isms = 1 } else { if (score[np] < minscore) minscore = score[np] if (score[np] > maxscore) maxscore = score[np] } } np++ } } END { for (i = 0; i < np; i++) { if (score[i] == "missed") { norm = (maxscore+1)-minscore } else { norm = score[i]-minscore } printf "%6d %-25s %7s %6d\n", norm, g[i], score[i], norm }}' | sort -n | sed 's/.......//'