0

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.          
4

1 に答える 1