IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

trier un fichier particulier command sort shell


Sujet :

Shell et commandes GNU

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 24
    Points
    24
    Par défaut trier un fichier particulier command sort shell
    Bonjour,

    Voila j'ai des milliers de fichier de ce format :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    blabalbal 4.236523 12.56
    blaplerel  5.325 5.32
    blebelbelbel 4.23666 45.23

    et j'aimerais les trier selon la 2eme colonne en ordre decroissant donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    blaplerel  5.325 5.32
    blebelbelbel 4.23666 45.23
    blabalbal 4.236523 12.56

    J'ai donc lu le man de sort et tenter la commande:
    mais ça trie mal j'ai des erreurs de trie dedans je comprends pas pourquoi ?
    Avez vous une solution ???


    Merci pour votre attention,
    Mister

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par ripat Voir le message

    Merci pour ta réponse toutefois, cette commande ne prend pas en compte les nombres négatifs. Existe t il un commande pour tenir compte des négatifs ?

    Merci beaucoup en tout cas,

    Mister

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Oui, avec l'option --numeric sort:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sort -k 2nr,2 ton-fichier
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par ripat Voir le message
    Oui, avec l'option --numeric sort:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sort -k 2nr,2 ton-fichier
    non ça marche pas


    sort -k 2nr,2 1A2K1.sort | head
    /tmp/1A2K1_struct/Complex_103g.pdb 5.94647 20.759
    /tmp/1A2K1_struct/Complex_10g.pdb 5.65807 16.536
    /tmp/1A2K1_struct/Complex_154g.pdb 5.44294 13.562
    /tmp/1A2K1_struct/Complex_224g.pdb 5.12877 21.744
    /tmp/1A2K1_struct/Complex_241g.pdb 5.85960 19.849
    /tmp/1A2K1_struct/Complex_275g.pdb 5.71539 20.362
    /tmp/1A2K1_struct/Complex_5g.pdb 5.96212 15.983
    /tmp/1A2K1_struct/Complex_700g.pdb 5.06020 16.988
    /tmp/1A2K1_struct/Complex_728g.pdb 5.52281 19.407
    /tmp/1A2K1_struct/Complex_87g.pdb 5.06673 1.445

    La deuxieme colonne n'est pas trier par order décroissant et meme n'est pas tier du tout...
    C'est normal ?

    Mister

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Non, ce n'est pas normal. Voici ce que ça donne chez moi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    jeanluc@ibm:~/scripts/test$ sort -k 2nr,2 fichier
    /tmp/1A2K1_struct/Complex_5g.pdb 5.96212 15.983
    /tmp/1A2K1_struct/Complex_103g.pdb 5.94647 20.759
    /tmp/1A2K1_struct/Complex_241g.pdb 5.85960 19.849
    /tmp/1A2K1_struct/Complex_275g.pdb 5.71539 20.362
    /tmp/1A2K1_struct/Complex_10g.pdb 5.65807 16.536
    /tmp/1A2K1_struct/Complex_728g.pdb 5.52281 19.407
    /tmp/1A2K1_struct/Complex_154g.pdb 5.44294 13.562
    /tmp/1A2K1_struct/Complex_224g.pdb 5.12877 21.744
    /tmp/1A2K1_struct/Complex_87g.pdb 5.06673 1.445
    /tmp/1A2K1_struct/Complex_700g.pdb 5.06020 16.988
    Version sort: sort (GNU coreutils) 5.97
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par ripat Voir le message
    Non, ce n'est pas normal. Voici ce que ça donne chez moi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    jeanluc@ibm:~/scripts/test$ sort -k 2nr,2 fichier
    /tmp/1A2K1_struct/Complex_5g.pdb 5.96212 15.983
    /tmp/1A2K1_struct/Complex_103g.pdb 5.94647 20.759
    /tmp/1A2K1_struct/Complex_241g.pdb 5.85960 19.849
    /tmp/1A2K1_struct/Complex_275g.pdb 5.71539 20.362
    /tmp/1A2K1_struct/Complex_10g.pdb 5.65807 16.536
    /tmp/1A2K1_struct/Complex_728g.pdb 5.52281 19.407
    /tmp/1A2K1_struct/Complex_154g.pdb 5.44294 13.562
    /tmp/1A2K1_struct/Complex_224g.pdb 5.12877 21.744
    /tmp/1A2K1_struct/Complex_87g.pdb 5.06673 1.445
    /tmp/1A2K1_struct/Complex_700g.pdb 5.06020 16.988
    Version sort: sort (GNU coreutils) 5.97
    Bin mince alors pourtant j'ai une version récente :
    COPYRIGHT
    Copyright © 2008 Free Software Foundation, Inc. License GPLv3+: GNU
    GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    GNU coreutils 6.9.92.4-f088d-dirtJanuary 2008

    Comment je peux faire ? J'ai testé sur ma machine avec une debian Lenny et sur mon lieux de travail avec une RedHat et j'ai exactement la meme chose... Existe t il une alternative ? Est ce que la taille des fichiers peut impliquer ce genre d'erreur car ce sont de fichiers de 10 000 lignes ?

    Mister

  8. #8
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Points : 63
    Points
    63
    Par défaut
    c'est un soucis de . ou , certainement. Tu dois avoir un Linux français, et un sort français qui ne reconnait pas les chiffres avec un . en tant que chiffre ! Remplace les . par des, et teste de nouveau.

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    ou bien force la locale sur C:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ LC_ALL=C sort -k 2nr,2 fichier
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    C'était bien une histoire de version française qui ne prend pas en compte les points mais les virgules.

    J'ai procédé à un query replace du coup. Je note ta commande ripat pour tester.


    Merci beaucoup en cas pour votre aide !!!


    Mister

Discussions similaires

  1. Réponses: 9
    Dernier message: 28/08/2008, 17h17
  2. commande:affichage de fichiers particuliers
    Par Anastasia dans le forum Unix
    Réponses: 1
    Dernier message: 26/05/2008, 09h51
  3. Réponses: 4
    Dernier message: 02/04/2008, 21h04
  4. Tri d'un fichier texte, commande sort
    Par fantomas261 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 16/04/2007, 16h01
  5. Commande en shell -- Sur les fichiers
    Par OrangeBud dans le forum Linux
    Réponses: 8
    Dernier message: 18/05/2004, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo