awk で外部コマンドの結果を取り込む
元ネタは Perl の話です。
awk の中ではバッククォートは使えませんが、getline による取得ができます。
#! /usr/bin/gawk -f BEGIN { while ("ls -al" | getline) { print; } }
実行結果は以下のとおり。
$ gawk -f system.awk 合計 12 drwxr-xr-x 2 hi_saito hi_saito 4096 10月 11 21:58 . drwxr-xr-x 133 hi_saito hi_saito 4096 10月 11 21:56 .. -rw-r--r-- 1 hi_saito hi_saito 56 10月 11 21:58 system.awk
基本的によしなにファイルをクローズしてくれますが、故意にクローズさせることもできます。