Bye Bye Moore

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

awkでbash用のコマンドを使う

dateコマンドで標準入力からの日付文字列を受け取り評価する - Bye Bye Moore

awkでN時間後の数値を設定したいなら……?? - Bye Bye Moore
の合わせ技で、awkでdateコマンドのN時間後記法を実行してみます。

bashのコマンドを使う場合、system関数を使うか、コマンド文字列の実行結果をgetlineの引数に格納する方法があります。
今回は後者を使いました。

実際のところ

日付文字列と16進数の値文字列が入ったパケットを受け取り、
日付文字列の100時間後の結果として再変換する例は以下の通りです。

$ echo 2013-09-01 06:52:14+00:00,0x0A | awk -F "," '{"echo \""$1" + 100 hour\" |date -f - +\"%Y-%m-%d %H:%M:%S+00:00,"$2"\" " | getline t; print t}'
2013-09-05 19:52:14+00:00,0x0A