2012-10-12 30 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); 
相關問題