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

Linux Discussion :

comportement aléatoire de sort -u


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 1
    Par défaut comportement aléatoire de sort -u
    bonjour ,

    j'ai ça comme fichier d'entrée : il y a un code et un chiffre à chaque ligne
    00000001B2009;320000
    00000001B2009;290000
    00000001B2009;217500
    00000001B3005;3275000
    00000001B3005;2380000
    00000001B3005;1032500
    ......

    le fichier est trié sur les codes (alphabétique ) puis sur les chiffres (numérique , ordre inverse )
    pour chaque code je veux récupérer le 1er chiffre qui le concerne ( donc le plus grand )

    pour ça j'utilise :
    sort -t";" -u +0 -1 fichier > fichier_sortie

    ça me renvoie :
    00000001B2009;290000
    00000001B3005;1032500

    et c'est là le problème , le sort doit garder une seule ligne sur 3 mais il en garde une apparamment au hasard. en tous cas ça se passe comme ça sur mon fichier réel de plusieurs milliers de lignes ; si je fais la meme chose sur un fichier extrait de seulement 99 lignes il choisit systématiquement la 1ere ligne et ca me donne le resultat espéré
    00000001B2009;320000
    00000001B3005;3275000

    quelqu'un sait d'où ça vient ce changement de comportement selon la taille du fichier ?
    et surtout quelqu'un sait comment on lui dit de choisir la 1ere ou la derniere ligne dans un sort -u et pas que au petit bonheur la chance ?

    merci d'avance.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 841
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par obivatel Voir le message
    bonjour ,

    j'ai ça comme fichier d'entrée : il y a un code et un chiffre à chaque ligne
    00000001B2009;320000
    00000001B2009;290000
    00000001B2009;217500
    00000001B3005;3275000
    00000001B3005;2380000
    00000001B3005;1032500
    ......

    le fichier est trié sur les codes (alphabétique ) puis sur les chiffres (numérique , ordre inverse )
    pour chaque code je veux récupérer le 1er chiffre qui le concerne ( donc le plus grand )

    pour ça j'utilise :
    sort -t";" -u +0 -1 fichier > fichier_sortie

    ça me renvoie :
    00000001B2009;290000
    00000001B3005;1032500

    et c'est là le problème , le sort doit garder une seule ligne sur 3 mais il en garde une apparamment au hasard. en tous cas ça se passe comme ça sur mon fichier réel de plusieurs milliers de lignes ; si je fais la meme chose sur un fichier extrait de seulement 99 lignes il choisit systématiquement la 1ere ligne et ca me donne le resultat espéré
    00000001B2009;320000
    00000001B3005;3275000

    quelqu'un sait d'où ça vient ce changement de comportement selon la taille du fichier ?
    et surtout quelqu'un sait comment on lui dit de choisir la 1ere ou la derniere ligne dans un sort -u et pas que au petit bonheur la chance ?

    merci d'avance.
    Je ne sais pas pourquoi sort -u renvoie des lignes au hasard.
    Moi, si j'étais toi, je ferais
    sort -t\; +0 -1 fichier | <script qui ne récupère que la première ligne de chaque clef>
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Comportement aléatoire des onglets d'un tabHost
    Par rolandl dans le forum Android
    Réponses: 2
    Dernier message: 30/08/2011, 23h15
  2. Réponses: 0
    Dernier message: 24/02/2010, 10h43
  3. Comportement (aléatoire?) de send()/recv() ?
    Par grip.inc dans le forum Réseau
    Réponses: 4
    Dernier message: 11/12/2009, 13h56
  4. sscanf comportement aléatoire
    Par devdebutantajax dans le forum C++
    Réponses: 4
    Dernier message: 27/11/2008, 18h03
  5. Comportement aléatoire du programme
    Par afrikha dans le forum Agents de placement/Fenêtres
    Réponses: 9
    Dernier message: 12/12/2005, 15h15

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