使用perl编写新文件,同时避免覆盖旧文件

时间:2015-06-11 22:22:31

标签: bash perl file-handling

我有一个perl脚本,可以对两个文本文件执行数学处理。然后我使用bash脚本,因此perl脚本应用于目录中的每个文本文件。然后,我希望将文本文件(inputfiles)复制到具有不同名称和精确文件结构的新文件(outputfile)中,如果数学过程给出一定值。

对于前两个文本文件,我希望perl脚本将两个文本文件写入具有不同名称的同一个新文本文件。

如下所示:

use File::Copy;

for ($value <= 5) {
  copy("$inputfile1"&&"$inputfile2","outputfile_0001.txt") or die "copy failed; $!";
}

我知道这不起作用,但我希望outputfile_0001.txt中的$ inputfile1和$ inputfile2具有完全相同的文件结构。

对于后续的文本文件,我想要这样的东西:

use File::Copy;

for ($value <= 5; my $count = 0) {
 if (-e "outputfile_00"(0[1-9]|1[0-9]|20".txt") {
  ++$count;    
  copy("$inputfile1"&&"$inputfile2","outputfile_"sprintf("%d04",$count)".txt") or die "copy failed; $!";
  }
   } elsif {
     copy("$inputfile1"&&"$inputfile2","outputfile_0001.txt") or die "copy failed; $!";
   }

这样我就不会覆盖任何旧文件,并且新文件将被写入其中的两个新输入文件。

我知道我在这里使用了一些非常糟糕的脚本,但这是我目前最好的。如果有什么不清楚我会做编辑!

0 个答案:

没有答案