2010-04-15 58 views
2

FILE1.TXT如何連接Perl中兩個文件中的相應行?

hello 
tom 
well 

FILE2.TXT

​​

如何合併與FILE2.TXT FILE1.TXT;然後創建一個新文件 - file3.txt

hello world 
tom jerry 
well done 

感謝您的閱讀和回覆。

附上根據答案完成的代碼。

#!/usr/bin/perl 
use strict; 
use warnings; 

open(F1,"<","1.txt") or die "Cannot open file1:$!\n"; 
open(F2,"<","2.txt") or die "Cannot open file2:$!\n"; 
open (MYFILE, '>>3.txt'); 

while(<F1>){ 
    chomp; 
    chomp(my $f2=<F2>); 
    print MYFILE $_ . $f2 ."\n"; 
} 
+1

是否必須是Perl或者也可以是Linux呢?你可以做$ paste file1.txt file2.txt – MJB 2010-04-15 13:52:29

+1

Dup:http://stackoverflow.com/questions/1636755/how-many-different-ways-are-there-to-concatenate-two-files-line-by- line-using-per/1636981#1636981 – FMc 2010-04-15 14:04:31

+0

使用Perl和WinXP。 $貼?這是來自Linux的命令嗎? – 2010-04-15 14:05:36

回答

3

如果Perl不是必須的,您可以在* nix上使用paste。如果你在Windows上,你也可以使用paste。從GNU win32

$ paste file1 file2 

否則只要下載,在Perl

open(F1,"<","file1") or die "Cannot open file1:$!\n"; 
open(F2,"<","file2") or die "Cannot open file2:$!\n"; 
while(<F1>){ 
    chomp; 
    chomp($f2=<F2>); 
    print $_ . $f2 ."\n"; 
} 
+0

它運作良好。非常感謝。 – 2010-04-15 14:05:04

+0

GNU win32 !!!這很酷... – 2010-04-15 14:18:43

1

我不認爲任何人應該給這一個完整的答案。

只需打開兩個文件,然後同時循環兩個文件並寫入新文件。

如果你不知道如何閱讀和在Perl編寫的文件,這裏是一個教程:

http://perl.about.com/od/perltutorials/a/readwritefiles.htm

+0

感謝您的教程。我完成了劇本。 – 2010-04-15 14:17:43