我正在嘗試編寫一個Perl腳本,它讀取目錄中的所有文本文件,並將除第一個以外的所有行寫入單獨的文件。如果有3個文件,我希望腳本讀取所有這3個文件,並使用除第一個以外的相同行寫入3個新文件。這是我寫的,但是當我嘗試運行這個腳本時,它沒有錯誤地執行正常,但沒有做它應該做的工作。有人可以看看它嗎?從目錄中的所有文本文件中刪除第一行的腳本
opendir (DIR, "dir\\") or die "$!";
my @files = grep {/*?\.txt/} readdir DIR;
close DIR;
my $count=0;
my $lc;
foreach my $file (@files) {
$count++;
open(FH,"dir\\$file") or die "$!";
$str="dir\\example_".$count.".txt";
open(FH2,">$str");
$lc=0;
while($line = <FH>){
if($lc!=0){
print FH2 $line;
}
$lc++;
}
close(FH);
close(FH2);
}
而第二個文件不存在,它應該由腳本創建。
它適用於我,但我不得不在第二行中引用'*'。你真的有一個名爲'dir'的目錄,並且是你的路徑分隔符'\\'? – 2012-03-01 01:18:52
@ EmilioSilva-謝謝,那就是問題所在。 – questions 2012-03-01 03:45:11