tac (260B)
1 #!/bin/sh 2 3 while [ $# -ne 0 ] 4 do 5 printf '%s\n' "$1" 6 shift 7 done | nl | sort -nr | sed 's/^[[:space:]]*[0-9]*[[:space:]]//' |\ 8 tr '\n' '\0' | xargs -0 cat | awk ' 9 BEGIN { 10 n=0 11 } 12 13 { 14 line[n++]=$0 15 } 16 17 END { 18 for (i=n; i != 0; i--) 19 print line[i-1] 20 }'