# by online.cxfan@gmail.com
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$dstDIR_ext = "\_$mon$mday\_$hour$min$sec";
#print "dstDIR_ext:$dstDIR_ext\n";
my $srcDIR = $ARGV[0];
my $dstDIR = $ARGV[0]."$dstDIR_ext";
print "\n ============================ \n";
print "$srcDIR\n";
print "$dstDIR\n";
opendir SRC_DIR ,$srcDIR || die "cant open $!";
# create a new directory to restore the files after replaced.
mkdir $dstDIR || die "cant open $!";
# scan file in directory
foreach my $file (readdir SRC_DIR) {
open(FILE_IN, $file);
open(FILE_OUT, ">$dstDIR\\$file");
print "\n ======================== Proccess file $file \n";
while(<FILE_IN>)
{
$line = $_;
# original line;
$line_bak = $line;
# line after replace
$line =~ s/(\[ENG-SPEC\]-\[Req-[S|P|E]-[0-9]{3}-[0-9]{3}-[0-9]{3}\])(-[1-9]{1})/$1-0/g;
if ($line)
{
print FILE_OUT $line;
}
else
{
print FILE_OUT $line_bak;
}
}
#print "\n ======================== end file $file \n";
close(FILE_OUT);
close(FILE_IN);
}
closedir SRC_DIR ,$srcDIR;
closedir DST_DIR ,$dstDIR;
Perl script 扫描指定文件夹replace string
最新推荐文章于 2024-08-29 17:22:48 发布