Bonjour,
Je suis en train d'essayer de me faire un script perl pour modifier le contenu de plusieurs fichiers txt.
Dans chaque fichier, je recherche une chaine de caratère TATA1 pour la modifier en TATA.
Voici le code inspiré du tutorial. Le problème c'est que la chaine de charactère TATA1 n'est pas forcement en ligne 5 dans tous les fichiers (trop facile sinon).
J'essai donc de faire une recherche en même temps, mais je coince
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 my @Fichiers =("Fich1","Fich2","Fich3","Fich4",); foreach (@Fichiers) { open my($file), '<', $_ || die ("Erreur d'ouverture de $_ ") ; my @lignes = <$file>; close($file); chomp ( $lignes[4] ); $lignes[4] = "TATA\n"; open my($file), '>', $_ || die ("Erreur d'ouverture de $_ ") ; print $file @lignes; close($file); }
Pourriez vous me conseiller ?
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 my @Fichiers =("Fich1","Fich2","Fich3","Fich4",); foreach (@Fichiers) { open my($file), '<', $_ || die ("Erreur d'ouverture de $_ ") ; my $Ligne; while ($Ligne = <$file>) { if ($Ligne =~ /TATA1/) { print "$Ligne \n"; $Ligne .= s/TATA1/TATA/g; } } close($file); ... }
Partager