Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1631 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Trier un fichier texte avec sort

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Trier un fichier texte avec sort

n°1377407
jcop
yeah !
Posté le 29-05-2015 à 14:13:05  profilanswer
 

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 !!!!!!  :heink:  
C'est vraiment incompréhensible.
 
Si quelqu'un a trouvé la solution, je suis preneur !

mood
Publicité
Posté le 29-05-2015 à 14:13:05  profilanswer
 

n°1377409
Profil sup​primé
Posté le 29-05-2015 à 15:02:24  answer
 

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.

n°1377410
jcop
yeah !
Posté le 29-05-2015 à 15:08:39  profilanswer
 

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 :


awk -F";" '
 {
   T[NR] = $0
 }
 END {
  asort(T)
  for (i = 1; i<=NR; i++)
   print T[i]
 } ' fichier_a_trier


Au moins avec awk ça marche !


Message édité par jcop le 29-05-2015 à 15:12:28
n°1377412
Profil sup​primé
Posté le 29-05-2015 à 16:02:40  answer
 

Code :
  1. sort -t ';' -k1,1

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.

n°1377415
jcop
yeah !
Posté le 29-05-2015 à 16:39:03  profilanswer
 

ok merci, ça marche ! :jap: :)
Linux c'est vraiment parfois space...
Avec la commande asort sous awk, pas besoin de toute cette subtilité !


Message édité par jcop le 29-05-2015 à 18:59:32

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Trier un fichier texte avec sort

 

Sujets relatifs
Help pls >>perte de fichier avec davfs2 dans lost+found ??[BATCH] Insertion de texte dans un nom de fichier lors d'un copy
Question permissions fichier, je débute...Copié fichier depuis liste de nom.
Owncloud: fichier .ocdata et changement de repertoire dataCherche logiciel de comparaison de fichier mode bloc - rdiff!
Convertir un fichier PDF en document Word ?Samba : impossible d'exécuter des fichiers distants
[PDF] Edition de fichier PDF 
Plus de sujets relatifs à : Trier un fichier texte avec sort


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR