[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HORS_SUJET] Pour continuer avec SED



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:

  albert@test-er.domain.com

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

while (<LOG>) {
  s/\@[\w-]+\.domain.com/\@domain.com/;
  print OUT;
}

En une seule ligne:

$ perl -pi.bak -e 's/\@[\w-]+\.domain.com/\@domain.com/' test.log

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

-- 
Peter Galbraith, chercheur scientifique    <GalbraithP@dfo-mpo.gc.ca>
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



Reply to: