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

Re: [HS] lignes uniques



Ainsi parla François TOURDE le jeudi 25 mar 2004 vers 21:03 à propos de
« Re: [HS] lignes uniques » :

> Le 12502ième jour après Epoch,
> Nicolas Rueff écrivait:
> 
> > Ainsi parla Yves Rutschle le jeudi 25 mar 2004 vers 19:03 à propos
> > de « Re: [HS] lignes uniques » :
> >
> >> On Thu, Mar 25, 2004 at 05:17:48PM +0100, François Boisson wrote:
> >> > Programme perl un peu "goret" qui doit marcher (j'ai mis stdin et
> >> > stdout ici mais il suffit de décommenbter pour avoir le fichier
> >> > entrée et sortie).
> >> 
> >> On peut bien entendu faire plus court en utilisant un hash:
> >> 
> >> 
> >> #!/usr/bin/perl
> >> 
> >> while(<>)
> >> {
> >>     print unless $lignes{$_};
> >>     $lignes{$_} = 1;
> >> }
> >> 
> >> 
> >> 
> >> Et si on a la flemme de faire un fichier pour un script si
> >> court, on peut faire encore mieux:
> >> 
> >> cat in | perl -ne 'print if! $l{$_}; $l{$_}=1;' > out
> >
> > Ça y est, on repart pour un tour de one-liner ?
> 
> Bon, si tu veux... On peut légèrement améliorer ça:
> 
> perl -ne 'print if! $l{$_}; $l{$_}=1;' < in > out

A priori « perl -ne 'print if! $l{$_}++;' < in > out » marche aussi. Par
contre je ne sais pas quand la boucle est bouclées (i.e. quand
$l{$_}++=0).

-- 
      Nicolas Rueff · Montbéliard · France · http://rueff.homelinux.org
 (^>        nicolas@rueff.homelinux.org · GPG 0xDD44DAB4
 /v\           Jabber rueff@jabber.org · ICQ 97700474
<__/  « We are Penguin. Resistance is futile. You will be assimilated. »
     



Reply to: