
Envoyé par
obivatel
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.
Partager