たまにawkでtac……つまり逆読み的な事をやる例題がありますね。
ああいった事をやる場合、実は標準添付ライブラリの「revoutput」を使うと苦労もなくいけます。
$ gawk '@load "revoutput"; BEGIN { REVOUT=1; print "sample string" > "/dev/stdout"}' gnirts elpmas
このREVOUTがゼロになっていると、通常通り。
$ gawk '@load "revoutput"; BEGIN { REVOUT=0; print "sample string" > "/dev/stdout"}' sample string
それ以外の数値になっていれば、発動します。
試しに99を突っ込んでも
$ gawk '@load "revoutput"; BEGIN { REVOUT=99; print "sample string" > "/dev/stdout"}' gnirts elpmas
文字だとダメです。
$ gawk '@load "revoutput"; BEGIN { REVOUT='a'; print "sample string" > "/dev/stdout"}' sample string
このライブラリ自体の使い道はともかく、このUI設計自体は実にAWK的と言えるのかもしれません。
参考もと
- effective awk