Probleme avec la commande sort

Bonjour,

Je dois trouver une commande pour trier un fichier qui contient 100 lignes dans le désordre.
Le fichier est constitué de la manière suivante : un numéro puis une tabulation et ensuite une phrase, ce que je dois trier de manière alphabétique c'est le début de chaque phrase mais tout en gardant leur numéro au début.

Exemple :

84 Le petit blablabla
77 Ce qui suit blabla
99 Bon courage blabla

Comment faire??? J'ai essayé avec la commande SORT mais je n'y arrive pas.

Merci d'avance pour vos réponses...
Configuration: Windows XP
Firefox 3.5.7

5 réponses

  1. Salut,

    Comme ça?

    lami20j@debian:~/michelin$ cat plop.txt 
    84      Le petit blablabla
    77      Ce qui suit blabla
    99      Bon courage blabla 
    lami20j@debian:~/michelin$ sort -k+2 plop.txt 
    99      Bon courage blabla 
    77      Ce qui suit blabla
    84      Le petit blablabla
    
    1. Excuse-moi, j'ai fait une fausse manipulation mais là ça marche mais peux-tu m'expliquer ta commande que signifie le k??? le+2???

      Merci.
    2. Modérateur
      @VictoriaSalut,

      man sort

             +POS1 [-POS2]
                    Indiquer un champ à utiliser comme clé de tri pour chaque ligne.
                    Le champ consiste en une portion de de ligne débutant à la posi-
                    tion POS1, et s'étendant jusqu'à POS2 non-inclue (ou jusqu'à  la
                    fin de la ligne si POS2 n'est pas mentionnée). Les positions des
                    champs et des caractères sont numérotées à partir de 0.
      
             -k POS1[,POS2]
                    Une autre syntaxe possible pour indiquer les clés de  tri.   Les
                    positions  des champs et des caractères sont numérotées à partir
                    de 1.
      
             Une position est de la forme f.c,  où  f  est  le  numéro  du  champ  à
             utiliser,  et c le numéro du premier caractère depuis le début du champ
             (avec +pos) ou depuis la fin du champ précédent (avec -pos).  La partie
             .c  de  la  position peut être omise, auquel cas le caractère considéré
             est le premier du champ.  Si l'option -b  est  choisie,  la  partie  .c
             d'une  spécification de champ est comptée à partir du premier caractère
             non-blanc du champ (pour +pos) ou à partir du  premier  caractère  non-
             blanc suivant le champ précédent (pour -pos).
      
             Un  argument  +pos  ou  -pos  peut également avoir un préfixe constitué
             d'une des lettres d'option Mbdfinr auquel cas les options  globales  ne
             s'appliquent  pas  à ce champ.  l'option -b peut être attachée indépen-
             damment aux parties +pos ou -pos d'une spécification de champ. Si  elle
             est  héritée  d'une option globale, elle s'appliquera aux deux parties.
             Si une option -n ou -M est utilisée,  ceci  implique  que  l'option  -b
             s'applique  aux  deux  spécifications  +pos  et -pos.  Les clés peuvent
             s'étendre sur plusieurs champs.
      
    3. @lami20jMERCI MERCI MERCI beaucoup à tous, ça marche comme sur des roulettes......
  2. Je dois trouver une commande pour trier un fichier qui contient 100 lignes

    Ce ne serait pas plutôt un dossier qui contient 100 fichiers dans le désordre ?
    1. Non, non, c'est bien 100 lignes dans le désordre avec leur numéro attribué dans un seul fichier et il faut mettre par ordre alphabétique les phases tout en respectant leur numéro.
      1. Salut ami20j

        Oui, c'est le résultat que je dois obtenir mais quand j'essaye ta commande, ça ne marche, ça me trie les numéros et non les phrases, cela est peut-être du à la tabulation qu'il y a entre le numéro et la phrase. Je ne sais pas mais en tout cas ça va pas... Merci quand même!! Une autre solution????
        1. Re,

          Dans l'exemple que je t'ai donné il trie selon le 2ème champ et pas les numéros au début de ligne.
          Mets ton fichier sur cjoint.com pour pouvoir tester.
      2. sort -n|cat nom_du_fichier

        Mais le trie est à l'envers