stdinからデータを読み取り、解析された行ごとにシェルコマンドを実行して、その出力を回復したいと思います。
ここにほとんど機能する例があります:
[root@eulbi002] # ping eulbi001 | awk -F'[ =]' '/64 bytes/{"date +%s"|getline D; print D,$11}'
1360069298 0.056
1360069298 0.051
1360069298 0.051
コマンド'date+%s'が実行され、出力を回復できますが、実行はすべての一致ではなく、1回だけ行われるように見えます。
最終的な目的は、出力をストレージ用にrrdtoolに渡すことであり、rrdtoolは各レコードのタイムスタンプを必要とします。
@Ed Mortonは、実用的な解決策を指摘することに加えて、組み込みの時間関数を備えたgawkについて言及しました。これは最もエレガントなソリューションです。
[root@eulbi002] # ping eulbi001 | awk -F'[ =]' '/64 bytes/{print systime(),$11}'
1360069298 0.056
1360069298 0.051
1360069298 0.051