commande sort pour fichier txt [Shell] - Shell/Batch - Programmation
Marsh Posté le 27-09-2007 à 09:11:16
Normallement l'option "-n" aurait du s'appliquer
Essaye ceci (non testé): sort +n0 +n2 fichierentrée -o fichiersortie
Syntaxe "+col" (le n° de la 1ère colonne étant 0) au lieu de "-kcol" et en demandant à ce que la numéricité soit appliquée à la colonne en question
Marsh Posté le 27-09-2007 à 09:19:33
C'est presque ça, j'ai fait :
sort -n +0 +2 fichierentrée -o fichiersortie
Merci bien !!
Marsh Posté le 27-09-2007 à 09:24:12
MarieNo a écrit : C'est presque ça, j'ai fait : |
Tiens ? on dirait que l'option "-n" est à mettre avant ?
Si c'est ça alors la commande "sort -n -k1,3" devrait fonctionner aussi...
Marsh Posté le 27-09-2007 à 09:36:39
la commande "sort -n -k1,3" ne marche pas ...
je ne sais pas pourquoi .. je n'ai jamais utilisé "sort" avant aujourd'hui, je ne peux pas te dire pourquoi la 1ère marche ! en tout cas, ça m'arrange
Marsh Posté le 27-09-2007 à 08:52:43
Bonjour à vous !
J'ai un fichier avec 8 colonnes (ou champs) de valeurs et je veux le trier en mettant la colonne 1 et la colonne 3 par ordre croissant.
j'ai fait : sort -k1,3 -n fichierentrée -o fichiersortie
Si vous regardez un extrait du "fichiersortie" en-dessous, la 1ère colonne est triée par ordre croissant mais dans la 3ème, il ya quelques "erreurs" (ou oublis) de tri du type : ... 109, 110 puis 11, 1, 111 ...
sort tient compte des espacements ? là c'est le 1er chiffre qui est trié !
il me manque surement une option pour sort ... que je ne trouve pas ...
1 2001 105 3.145 11.435 5.855 0.000 0.669
1 2001 106 11.106 10.607 2.193 0.000 2.142
1 2001 107 13.445 9.649 -0.932 0.000 0.775
1 2001 109 4.141 9.243 0.185 0.000 -1.220
1 2001 109 8.754 7.534 0.808 0.000 -0.127
1 2001 110 6.137 7.133 -0.062 0.000 0.506
1 2001 11 0.673 9.668 5.820 0.308 -1.742
1 2001 1 1.140 8.036 2.430 0.057 0.862
1 2001 111 8.625 8.681 -1.469 0.000 1.191
1 2001 113 14.752 13.402 5.150 0.000 -0.567
1 2001 113 16.250 12.041 -1.327 0.000 1.391
Merci bien