在Perl脚本中运行bash命令时出错

时间:2014-02-22 17:21:16

标签: perl bash awk

我编写了一个Perl脚本,以便自动化在基于lsf的集群中发送大量作业的过程。 问题是,由于我没有得到它的原因在两行中削减了作业,并且作业无法运行。 这是我的剧本:

my $controler = $ARGV[0];


open my $cont, $controler or die "Could not open $controler: $!";
my $str = qx(wc -l $controler | awk '{print $1}');
#my $str2 = system($str);
#my @count = split /\n/,$str;
#print $str;
for (my $f = 1; $f <= $str; $f++) {
#print $count[0];
`mkdir ~/Multiple_alignments/ELEMENTS-AUTO-$f`;
#`mkdir ../SCORES-AUTO-$f`;
}

while ( $cont = <>){
    chomp;
    my @lines = split /\t/, $cont;
    my $count2 = $lines[0];
    my $cover = $lines[1];
    my $length = $lines[2];
    my $rho = $lines[3];

     my @files = <*maf>;
    foreach my $file (@files) {
    #print $file . "\n";
    my $base = basename($file, ".maf");
    #print "$base\n";
    #print "$cover\n";
    #print "$length\n";
    #print "$rho\n";

 print "`bsub -q q_cf_htc_work -R \"select[type==X86_64 && mem>6000]\" rusage[mem=6000] -M6000 -o /home/vasilis.lenis/Multiple_alignments/out-files/phastCons_$base.o -e    /home/vasilis.lenis/Multiple_alignments/out-files/phastCons_$base.e -J phastCons$base phastCons --target-coverage $cover --expected-length $length --rho $rho --most-conserved ../ELEMENTS-AUTO-$count2/most_conserved_$base.bed --msa-format MAF $file mytrees_no3.noncons.mod --no-post-probs`\n";

            }

 }

我只是无法理解为什么会发生这种情况。 (另外,我在第三行的awk命令不起作用)

提前谢谢你, 瓦西利斯。

1 个答案:

答案 0 :(得分:0)

非常感谢你的指导。 我相信我用新线解决了这个问题。 我使用了错误的chomp功能。        格格($续);