Perl - 搜索并替换单个主文件以创建多个子文件

时间:2012-10-12 14:30:24

标签: perl replace

我有一个Master文件,我想从中创建几个子文件。主文件中有几行文本我希望更改然后保存到另一个文件。我希望多次这样做,每次将新文件保存为不同的文件名。

例如我的主文件有一些REPLACETEXT,我希望将其更改为NEWTEXT并将整个文件保存到NEWTEXT1.txt中。然后我想为NEWTEXT2重复此操作并保存到NEWTEXT2.txt。再次冲洗并重复100次左右。

我认为perl和循环有一种快速的方法,但它已经打败了我有限的知识。

1 个答案:

答案 0 :(得分:0)

与其他人一样,强烈建议您参加一些基本的Perl培训。

这个简单的代码应该可以工作

#!/usr/bin/perl -w

my @keywords=('NEWTEXT1','NEWTEXT2','NEWTEXT2');
open(FILE,"Master.txt");
foreach (@keywords)
{
    open(NEWFILE,">$_.txt");
    seek (FILE, 0, 0);
    foreach $line (<FILE>)
    {
         $line=~s/REPLACETEXT/$_/g;
         printf NEWFILE ("$line");
    }
    close(NEWFILE);
}
close(FILE);