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: