qstat
次のような
SGE コマンドからの出力があります: http://dpaste.com/1177012/plain/
次のコマンドで取得します。
$ qstat -j "*"
私がやりたいことは、 qstat -j "*" の出力をテーブル形式に解析することです:
#job_number submission_time owner usage
526715 Sat Apr 13 18:43:19 2013 yminakuc cpu=33:04:05:52, mem=2471753193.24440 GBs, io=619.41401, vmem=864.175G, maxvmem=920.232G
....
パイプとして使用できるコードを作成することを考えていました:
$ qstat -j "*" | ./mycodeparse.pl
AWK または Perl でそれを行う方法は何ですか? または、そのための利用可能なUNIXツールはありますか?
私は次の構造(ロジック)にこだわっています
#!/usr/bin/perl -w
use strict;
use Data::Dumper;
my %hash;
my $curr;
while ( my $line = <> ) {
chomp $line;
if ( $line == /^=/ ) {
$hash{$line}=$curr = [];
}
elsif ( $line =~ /^job_number/ ||
$line =~ /^owner/ ||
$line =~ /^usage/ ||
$line =~ /^submission_time/)) {
push @$curr,$line;
}
}
print Dumper \%hash ;
# Hash print everything instead of selected lines.