AWKで末尾からN個目のフィールドを得たい場合……rubyでいえば
ary[-2]
何のことはなく、フィールド数を示すNF変数から、任意の数値を引くだけです。
実際のところ
a~fまでの文字のうち、最後から2番目のレコードを得る場合は以下のようにします。
$ echo 'a b c d e f' | awk '{print $(NF - 2)}' d
このように、$NUMのNUMは括弧囲いする事で数式を計算することができます。
また、for文で使う変数も使うことができるので
for( i = 0; i <= NF; i++) { print $i }
のような運用も可能です。