http://www.TFFLAN.org
Bienvenue sur le site de l'association.
Association régie par la loi du 1er juillet 1901.




 





Piste: start » doc » perlrecherche_remplace

Voici un script sous Perl pour rechercher et remplacer un ou plusieurs caracteres dans un fichier et cree un fichier avec les modifications.

Dans le meme ordre d’idee il peut etre interessant de lister un repertoire entier et d’appliquer le script (ci-dessous).

#Fred 25 05 04 / http://www.tfflan.org
#se lance par : 
#perl.exe remplace.pl fichier_source.txt fichier_destination.txt caractere_source caractere_distination
 
###On ouvre le fichier en lecture (premier argument)
 
open(FILE_DIR, "<$ARGV[0]") or die "Impossible de lire le fichier\n";
 
###On prepare l'ecrire du fichier qui va recevoir les modifications.
 
open(FILE_OUT, ">>$ARGV[1]") or die "Impossible de lire le fichier\n";
 
###On met le fichier qui a ete lu dans un tableau.
 
@texte = <FILE_DIR>;
 
###On retire les retour chariot
 
chomp(@texte);
 
###On ferme le fichier lu
 
close (FILE_DIR);
 
###On compte le nombre de ligne.
 
$nb = scalar(@texte);
 
###Saut de ligne et affiche le nombre de ligne
 
print "\n$nb\n";
 
###On commmence une boucle
 
for ($i=0;$i<$nb;$i++){
 
###on recherche les caracteres a modifier ligne par ligne.
###en recherchant argument 3 (caractere_source)
###et le faire remplacer par argument 4 (caractere_distination)
 
if ($texte[$i] =~ s/$ARGV[2]/$ARGV[3]/g){
 
###On affiche le texte modifier
 
print "$texte[$i]";
 
###On ecrit dans le fichier de sorti les modifications
 
print FILE_OUT "$texte[$i]\n";
 
###Sinon on laisse tel quel
 
}else{
print "$texte[$i]";
print FILE_OUT "$texte[$i]\n";
}}
 
###On ferme le fichier d'ecriture.
 
close(FILE_OUT);

Vous pouvez retrouver le script a cette adresse http://tfflan.free.fr/doc/remplace.pl. Il est evident que ce script n’est pas complet et qu’il peut etre amelioré. On m’a demandé a plusieurs reprise de faire ce genre de script, il peut etre utile de l’avoir de coté.

Pour plus d’info ou commentaire rdv la bas. http://forum.tfflan.org.

doc/perlrecherche_remplace.txt · Dernière modification: 2005/10/19 11:03 par fred


[http://www.tfflan.org] - Association régie par la loi du 1er juillet 1901