2010-04-15 8 views
2

file1.txtComment concaténer les lignes correspondantes dans deux fichiers en Perl?

hello 
tom 
well 

file2.txt

world 
jerry 
done 

Comment fusionner file1.txt avec file2.txt; puis créez un nouveau fichier - file3.txt

hello world 
tom jerry 
well done 

merci de lire et de répondre.

Rattaché au code complété basé sur la réponse.

#!/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

-t-il être perl ou peut-il être linux? Vous pouvez faire $ coller fichier1.txt fichier2.txt – MJB

+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

+0

Perl et WinXP utilisés. $ coller? Est-ce une commande de Linux? –

Répondre

3

si Perl n'est pas un must, vous pouvez simplement utiliser paste sur * nix. Si vous utilisez Windows, vous pouvez également utiliser paste. Il suffit de télécharger à partir GNU win32

$ paste file1 file2 

autre, en 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

Cela fonctionne bien. Merci beaucoup. –

+0

GNU win32 !!! C'est cool ... –

1

Je ne pense pas que quiconque devrait donner une réponse complète à cette fin. Il suffit d'ouvrir les deux fichiers, puis de passer les deux en même temps et d'écrire dans un nouveau fichier.

Si vous ne savez pas comment lire et écrire des fichiers en Perl, voici un tutoriel:

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

+0

Merci pour le tutoriel. J'ai terminé le script. –

Questions connexes