[perl] tri dans un fichier

fifto Messages postés 54 Statut Membre -  
 non -
J'ai une autre question concernant les tris en perl svp:
J'ai ce fichier texte:
#x y
1 5
44 2
3 74
2 11

Et en fait, j'aimerais le transformer en un nouveau fichier texte ou les x sont triés par ordre croissant:

donc le nouveau fichier texte serait:

#x y
1 5
2 11
3 74
44 2

Vous savez comment on peut faire ca svp?
merci.

2 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,
    #! /usr/bin/perl
    
    use warnings;
    use strict;
    
    my %h = ();
    my $entete = <DATA>;
    while (<DATA>){
      next unless /^\d/;
      my($cle,$val) = split /\s+/,$_;
      $h{$cle} = $val;
    }
    print "$entete";
    foreach (sort {$a <=> $b} keys %h){
      print "$_ $h{$_}\n";
    }
    __END__
    X Y
    1 6
    
    3 22
    
    5 1
    
    0 8
    
    10 258
    
    2 5401
    
    Résultat
    [lamitest@localhost corbeille]$ perl a
    X Y
    0 8
    1 6
    2 5401
    3 22
    5 1
    10 258
    [lamitest@localhost corbeille]$
    
    lami20j
    1
    1. clara
       
      bonsoir,
      j'ai pu voir sur le forum que t'es pas mal calé en perl, alors si tu pouvais m'aider...
      en fait je dois trier par ordre croissant une liste prealablement rentrée par l'utilisateur- soit nombre soit des chaines de caracteres - sans utilisé la fonction sort. J'ai vu une solution que tu as deja posté mais j'aimerais savoir si tu connais
      avec le tri par bulle.
      merci d'avance de ton aide, je m'arrache les cheveux avec ca!!
      0
    2. non
       
      je ponce pas que cette méthode va etre marche corectement
      0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Le tri par bulle tu le trouves ici https://fr.wikipedia.org/wiki/Tri_%C3%A0_bulles et le code en C peut être adapter très facilement en Perl.
    Voici un exemple pour quelques méthode de tri en C http://www.commentcamarche.net/forum/affich 4795788 c tri#2

    Si tu vais d'aide il faut donner un peu plus de détails de ce que tu veux faire.

    j'ai pu voir sur le forum que t'es pas mal calé en perl, alors si tu pouvais m'aider...
    ...........
    je m'arrache les cheveux avec ca!!


    Je ne sais pas si je suis calé en Perl, en revanche, chose sûre, je n'ai plus de cheveux ;-DDD
    0