awk ' BEGIN { OFS = "\t" print " new old new/old" print "" } /differ/ /:$/ { name = $1; cnt = 0; next } $1 ~ /user|sys/ { n = split($2, x, "m") # 0m0.23s if (n == 1) time[cnt] += x[1] else time[cnt] += 60 * x[1] + x[2] } $1 ~ /sys/ { cnt++ if (cnt == 2) dump() } function dump() { old = time[1] new = time[0] if (old > 0) { printf "%8.2f %8.2f %8.3f %s\n", new, old, new/old, name rat += new/old } nrat++ totnew += new totold += old time[0] = time[1] = cnt = 0 } END { print "" printf "%8.2f %8.2f\n\n", totnew, totold printf "avg new/old = %.3f\n", rat/nrat printf "total new/old = %.3f\n", totnew/totold print nrat " tests" } ' $* |