我的 SGEqstat
命令输出如下所示:
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.