Trier un fichier texte avec sort - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 29-05-2015 à 15:02:24
salut,
j'ai l'intuition que le point-virgule n'est pas tout à fait pris en compte.
pour obtenir le résultat souhaité, il faut indiquer le séparateur de champs, et le(s) champ(s) sur le(s)quel(s) effectuer le tri.
Marsh Posté le 29-05-2015 à 15:08:39
effectivement, le ; n'a pas l'air d'être pris en compte !
Mais j'ai essayé les commandes suivantes :
sort -t";"
sort -t";" -k1
sort -k1
et le résultat est le même !!!!
Si quelqu'un arrive à me trouver la commande sort qui marche, je l'applaudis !
En attendant j'ai contourné le problème en utilisant awk :
|
Au moins avec awk ça marche !
Marsh Posté le 29-05-2015 à 16:02:40
Code :
|
sinon le tri est effectué à partir champ #1.
il faut dire à sort de trier d'abord le champs #1, puis, s'il y a lieu, préciser les autres clés de tri.
Marsh Posté le 29-05-2015 à 16:39:03
ok merci, ça marche !
Linux c'est vraiment parfois space...
Avec la commande asort sous awk, pas besoin de toute cette subtilité !
Marsh Posté le 29-05-2015 à 14:13:05
Bonjour,
Je souhaite trier un petit fichier texte avec la commande sort, voici son contenu :
r;rue
av;avenue
bd;boulevard
imp;impasse
pl;place
qu;quai
res;residence
rpt;rondpoint
rted;routede
Mais le résultat du tri avec sort me donne ceci :
av;avenue
bd;boulevard
imp;impasse
pl;place
qu;quai
res;residence
rpt;rondpoint
r;rue
rted;routede
Je ne comprends pas pourquoi la ligne r;rue est située entre les lignes rpt;rondpoint et rted;routede !!!!!!
C'est vraiment incompréhensible.
Si quelqu'un a trouvé la solution, je suis preneur !