Stephane Camberlin wrote:

> �a a l'air de marcher en perl:
> 
> #!/usr/bin/perl
> 
> open(LOG,"/path/mail.log");
> open(OUT,">/path/mail_out.log");
> 
> foreach $i (<LOG>){
>   $i =~ s/<(.*\@)\w*\.(domaine.com)>/<$1$2>/i; 
>   print OUT $i;
> }
> 
> close(LOG);
> close(OUT);


Attention, avec \w ci-haut, on ne peut pas avoir de trait-d'union
tel que dans:

  [EMAIL PROTECTED]

Aussi le le bloc `foreach $i' peut �tre remplac� plus simplement par :

while (<LOG>) {
  s/[EMAIL PROTECTED]/[EMAIL PROTECTED]/;
  print OUT;
}

En une seule ligne:

$ perl -pi.bak -e 's/[EMAIL PROTECTED]/[EMAIL PROTECTED]/' test.log

�a cr�e un fichier backup avec l'extension .bak

-- 
Peter Galbraith, chercheur scientifique    <[EMAIL PROTECTED]>
Institut Maurice-Lamontagne, Minist�re des P�ches et Oc�ans du Canada
C.P. 1000, Mont-Joli Qc, G5H 3Z4 Canada 418-775-0852 FAX:418-775-0546


Répondre à