数値らしい部分を取り出すフィルターをPerlにて作成
もうちょっと直さないとだけど、サーバーの情報を定期的にためておく時に使えるかな。
$ cat ./num_get.pl
#!/usr/bin/perl
while (
$w = $_;
$n=""; $n = "\n" if $w =~ /\n/;
while ($w =~ s/(^|\D)*(\d+:\d+|\d+\.*\d*)//) {
print "$2,";
}
print "\n" if ($n);
}
$ date
2007年10月16日 (火) 16:36:55 JST
$ date | ./num_get.pl | more
2007,10,16,16:36,50,
$ w
4:37pm up 91 days, 6:52, 1 user, load average: 0.33, 0.29, 0.27
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ishimaru pts/0 gware02.localnet 3:14pm 0.00s 0.36s 0.02s w
$ w | ./num_get.pl | more
4:37,91,6:52,1,0.25,0.27,0.26,
0,02.,3:14,0.00,0.37,0.02,
改行を無視し、数字の前の文字判定を変更
$ cat ./num_get.pl
#!/usr/bin/perl
while (
$w = $_;
$n=""; $n = "\n" if $w =~ /\n/;
while ($w =~ s/(^|\s)*(\d+:\d+|\d+\.*\d*)//) {
print "$2,";
}
# print "\n" if ($n);
}
$ w | ./num_get.pl | more
4:39,91,6:54,1,0.08,0.21,0.24,0,3:14,0.00,0.38,0.02,
$ free
total used free shared buffers cached
Mem: 515228 495288 19940 0 103732 257400
-/+ buffers/cache: 134156 381072
Swap: 530136 10552 519584
$ free | ./num_get.pl
515228,494588,20640,0,103748,257392,133448,381780,530136,10552,519584,
