Bonjour,
Cela fait un petit moment que je suis bloquée sur un script qui permettrait de récupérer des informations en provenance de 2 fichiers pour les intégrer dans un 3ème.
Contenu du fichier 1 ($txt) :
num1;comments
Contenu du fichier 2 ($final) :
num2;rule;status
Contenu souhaité du fichier 3 :
Pour les valeurs $num2 égales à $num1, le contenu serait : num2(ou $num1);rule;status;comments
Pour les autres valeurs $num2, le contenu serait : num2;rule;status
Voici ce que j'ai le code que j'ai écrit :
J'obtiens juste les lignes correspondant aux valeurs $num1 et $num2 égales. Comment afficher les autres lignes $num2 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 #!/usr/bin/perl # Ouverture des 2 fichiers open $TXT, "<", $ARGV[0] or die "Ouverture impossible de $ARGV[0] $!"; open $FINAL, "<", $ARGV[1] or die "Ouverture impossible de $ARGV[1] $!"; # Parcours des fichiers @lines1 = <$TXT>; @lines2 = <$FINAL>; foreach $line1 (@lines1) { chomp($line1); @items_txt = split(/;/,$line1); # Récupération des informations du fichier 1 $num1=$items_txt[0]; $comments=$items_txt[1]; foreach $line2 (@lines2) { chomp($line2); @items_final = split(/;/,$line2); # Récupération des informations du fichier 2 $num2=$items_final[0]; # Affichage if($num1 eq $num2) { print "$line2;$comments\n"; } else { print "$line2\n"; } } } close($TXT); close($FINAL);
Merci beaucoup !
Partager