gawkがないとエラーになる
こんな感じ。
$ vmstat 1 | awk '{print strftime("%/%m%d %H:%M:%S"), $0}' awk: line 2: function strftime never defined
内部的にはgawkがいるんだとか。
$ which gawk $ which awk /usr/bin/awk
Perlスクリプトがいい
STDOUTが入るとその後ろに時刻データを入れるスクリプト。
#!/usr/bin/perl use strict; use warnings; use IO::Handle; STDOUT->autoflush; while (defined(my $line = <>)) { my ($s, $m, $h,$dd ,$mm ,$yy ,$ww) = localtime(); printf STDOUT '%04d/%02d/%02d %02d:%02d:%02d %s', $yy+1900, $mm, $dd, $h, $m, $s, $line; }
これを単体で動かすとキーボードを押下してEnterで時刻が付与されます。
./test.pl a 20XX/10/24 15:04:36 a b 20XX/10/24 15:04:38 b ^C
というわけでこれで時刻データ付きの基盤データをゲット。便利。
$ vmstat 1 | ./test.pl