Shufle en unix
Résolu
Poireau007
Messages postés
83
Date d'inscription
Statut
Membre
Dernière intervention
-
Poireau007 Messages postés 83 Date d'inscription Statut Membre Dernière intervention -
Poireau007 Messages postés 83 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je cherche a melanger des lignes d'un fichier avec une commande unix...
apparement il existe la command shuffle mais je ne l'ai pas sur mon system,
j'ai l'impression que c'est un e nouvelle commande car le man du linux d'un ami date de 2008, ca vient de sortir ??
je cherche a melanger des lignes d'un fichier avec une commande unix...
apparement il existe la command shuffle mais je ne l'ai pas sur mon system,
j'ai l'impression que c'est un e nouvelle commande car le man du linux d'un ami date de 2008, ca vient de sortir ??
3 réponses
Salut,
Tu parles de l'algorithme de Fisher Yates
Voici en Perl.
En fait le programme tu peux l'écrire toi même ;-)
Tu parles de l'algorithme de Fisher Yates
Voici en Perl.
En fait le programme tu peux l'écrire toi même ;-)
lami20j@debian:~/trash/ccm_perl$ cat fic.txt aaaa bbbb cccc dddd eeee ffff lami20j@debian:~/trash/ccm_perl$ cat ccm_melangertableau #!/usr/bin/perl use strict;use warnings; # le mélange de Fisher Yates sub melange{ my $tableau=shift; my $i; for($i=@$tableau;--$i;){ my $j=int rand($i+1); next if $i == $j; @$tableau[$i,$j]=@$tableau[$j,$i]; } } my @fichier=<>; melange(\@fichier); print for @fichier; __END__ lami20j@debian:~/trash/ccm_perl$ perl ccm_melangertableau fic.txt aaaa ffff bbbb eeee cccc dddd