2012-10-12 32 views
-4

我有一个主文件,我想从中创建几个子文件。主文件中有几行文本,我想更改并保存到另一个文件。我希望多次执行此操作,每次将新文件保存为不同的文件名。Perl - 搜索并替换单个主文件以创建多个子文件

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

我认为有一个快速的方式与Perl和循环,但它已经击败了我有限的知识。

+0

你应该张贴的代码为你的错误,不请人编写代码为您服务。请阅读此处:http://stackoverflow.com/faq –

+0

问题是我无法开始使用代码并正在寻找一些指向它的指针。我可以做一行perl -pe's/old/new/g;' master.txt> newtext.txt类型的东西,但不知道如何将其实现为一个脚本来循环它的多个输出文件。正如我所说,我对perl非常陌生,只是在一些帮助之后。 – Nige

+1

听起来你需要对Perl语言进行基本的介绍,并且Stack Overflow不是寻找它的地方。谷歌将出现几个有用的网站,例如perl.com上的[新手入门介绍](http://www.perl.com/pub/2000/10/begperl1.html) – Borodin

回答

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); 
相关问题