Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

AWKでUNIXコマンドの結果を内部的に使いたい場合「|」でつないでやる

AWKUNIXコマンドの結果を内部的に使いたい場合「|」でつないでやるだけで大丈夫です。

実際のところ

単純に結果が欲しいだけなら、以下のようにつなぐだけです。

$ gawk 'BEGIN {"date" | getline result; print result}'
20151012日 月曜日 234733秒 JST


もし、gawk系を使っている状況で特定の入力に対して反応を返すコマンドの場合、「|&」という拡張法もあります。

print "some query" |& "db_server" 
"db_server" |& getline

これとrevtwowayという標準添付ライブラリと合わせる事で、若干面白い使い方もできます。
この件については、後日別途記事にします。

参考もと