Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

tac的な事をやるライブラリ「revoutput」

たまに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