Perl trier le fichier

camillePer Messages postés 3 Statut Membre -  
 chichi -
Bonjour tout le monde!
je suis nouvelle ici et je sais même pas si j'ai choisi le bon emplacement pour ma question.
Mais je vous demande de m'aider quand même)))
: comment est-ce que je peux trier un fichier qui est de cette structure:
23425 TAB 4573657 TAB ulala
45657 TAB 346797657 TAB alala
34535 TAB 566854654 TAB mlalala
pour avoir
45657 TAB 346797657 TAB alala
34535 TAB 566854654 TAB mlalala
23425 TAB 4573657 TAB ulala
Cela veut dire comment je peux faire un tri alphabétique?

Merci!)
Configuration: kubuntu

6 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Si j'ai bien compris tu veux faire un tri selon la dernière colonne.
    Peux-tu nous montrer ce que tu as essayé faire.
    Ca nous permettra de voir ce qui ne va pas.
    1
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Je vois que tu es sous GNU/Linux, le "perl" est obligatoire ?
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Salut,

      Oui.
      ;-DDD
      0
      1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
         
        Alors, t'as intérêt de faire plus court qu'avec "sort" !!! ;-DD
        0
      2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Re,

        Oui.
        Je fais un script qui contiendra moins de code que sort et je l'appellerai s
        Ca te va? ;-)))
        0
      3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
         
        Que nenni, ce n'est pas le nom qui doit être court, noméo !!!

        Fainéant et tricheur en plus ;-D
        0
  3. camillePer Messages postés 3 Statut Membre
     
    Bonjour, justement j'ai rien fait, parce que je ne vois pas comment je peux m'approcher du tri, il me semble qu'on peut le faire avec le sort en définissant la troisième colonne du texte comme le champ principal du tri. Non?
    Merci)
    0
  4. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Re-

    [tmpfs]$ cat plop
    23425 TAB 4573657 TAB ulala
    45657 TAB 346797657 TAB alala
    34535 TAB 566854654 TAB mlalala
    
    [tmpfs]$ sort +4 plop
    45657 TAB 346797657 TAB alala
    34535 TAB 566854654 TAB mlalala
    23425 TAB 4573657 TAB ulala
    
    [tmpfs]$ sort -k5 plop
    45657 TAB 346797657 TAB alala
    34535 TAB 566854654 TAB mlalala
    23425 TAB 4573657 TAB ulala
    
    [tmpfs]$
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    lami20j@debian-acer:~$ cat plop
    23425	4573657	ulala
    45657	346797657	alala
    34535	566854654	mlalala 
    lami20j@debian-acer:~$ cat tri.pl 
    #!/usr/bin/perl
    use strict;use warnings;
    open LIRE,"plop" or die "E/S: $!\n";
    
    my @x=<LIRE>;
    print map { $_->[0] }
          sort{ $a->[1] cmp $b->[1] }
          map { [$_,(split /\s+/)[2] ] } @x;
    __END__
    
    lami20j@debian-acer:~$ perl tri.pl
    45657	346797657	alala
    34535	566854654	mlalala 
    23425	4573657	ulala

    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Re-

      pffff ;-))
      0
      1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Re,

        Ben, mets ta commande sort, peut être qu'il l'adoptera ;-)
        0
      2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
         
        0
      3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Re,

        Je l'ai pas vu ;-))

        Toutefois je pense qu'il parlait de la fonction sort de perl et pas de la commande sort.
        0
    2. chichi
       
      j'ai le même problème j'ai essayé cette methode ça marche mais moi je veux que que ça soit trié selon l'ordre ascii et se n'est pas le cas au niveau des symbole et les accent y'a un problem
      0
  7. camillePer Messages postés 3 Statut Membre
     
    Bonjour, merci beaucoup pour votre aide, je vais le regarder un peu plus tard, j'ai pas le temps pour le faire maintenant). Oui, j'ai parlé de perl. "Elle parlait de la fonction de perl..."))))))).
    0