- 论坛徽章:
- 0
|
我在写一个程序。
perl程序:
#! /usr/bin/perl -w
use strict;
use File::Basename qw(basename dirname);
use FindBin qw($Bin $Script);
die "Usage:\nperl $0 <outDir> <config>\n" unless @ARGV==2;
my ($outDir,$config)=@ARGV[0,1];
my $a=`awk -F"=" '{if(NR==1){print \$2}}' $config`;chomp $a;
my $b=`awk -F"=" '{if(NR==2){print \$2}}' $config`;chomp $b;
my $c=`awk -F"=" '{if(NR==3){print \$2}}' $config`;chomp $c;
my $e=`awk -F"=" '{if(NR==5){print \$2}}' $config`;chomp $e;
my $f=`awk -F"=" '{if(NR==6){print \$2}}' $config`;chomp $f;
my $bin="$outDir/sh.e.o/CBin";
`mkdir -p $bin` unless -d "$bin";
for my $i(1..22)
{
my $g="$b/$i.txt";
my $in="$e/$i.txt";
my $sh="$bin/ch$i.sh";
open SH,">$sh" or die $!;
print SH "#!/bin/sh\n#\$ -S /bin/sh\necho -n Start Time:;date\n";
print SH "$f -Q k -t -u -2 -i $in -d $g -L $a ";
print SH "echo -n End Time:;date\n";
close SH;
LIST:
{
my $jobID=`qsub -cwd -S /bin/sh -q ab.q -P a_b -l vf=1.5G -e $sh.e -o $sh.o $sh`;
print "$jobID";
}
}
假设路径如下:
$f =/table/abc
$e =/table/bcd
$b =/table/test
$a =/table/ef
产生的结果:
#!/bin/sh
#\$ -S /bin/sh
echo -n Start Time:;date
/table/abc^M -Q k -t -u -2 -i /table/bcd/1.txt^M -d /table/test/1.txt^M -L /table/ef^M
echo -n End Time:;date
就是不知道为什么。产生的每个sh文件每一个路径的后面都会有^M存在。
我尝试过用$a= ~s/[\r\n]//,出来的结果是asicll值,就不是我要的地址
也尝试过$dos2unix filename 发现没用 所以特放上来 。
请各位大神指点!!!
小女子感激不尽啊!!
|
|