Souci sur l'utilisation de sort

Souci sur l'utilisation de sort - Shell/Batch - Programmation

Marsh Posté le 30-04-2010 à 16:03:56    

Hello!!  
 
Je voudrais savoir si quelqu'un trouve une faute sur cette commande
 
sort +0n +1n FichierEntrée > FichierSortie
 
Je cherche à classer un fichier texte contenant de coordonnées géographiques (XYZ) par ordre croissant. On m'a assuré que cette commande marchait, mais...pas pour moi.
 
J'obtiens l'erreur suivante :  
 
sort : open failed :0+ : not such a file or directory.  
 
Cependant il me crée un fichier de sortie vide.  
 
Petite précision, je travaille sur cygwin.  
 
Merci en avance.
 
Édité par Elmoricq : découpage du topic précédent pour en créer un nouveau avec ce message-ci. Squatter le topic d'autres gens, c'est mal©


Message édité par Elmoricq le 05-05-2010 à 13:53:09
Reply

Marsh Posté le 30-04-2010 à 16:03:56   

Reply

Marsh Posté le 05-05-2010 à 13:54:11    

Selon les unix utilisés, les arguments des commandes peuvent varier.  
Consulte ceux de ta commande "sort" avec la commande suivante :

man sort


Reply

Marsh Posté le 07-05-2010 à 16:54:09    

Elmoricq : jolie façon de dire RTFM ;-)  :lol:  :ouch:   :sol: :kaola:  
 
 
Sinon, pour faire avancer le schmilblik perso je verrais plus quelque chose du genre :
 

Code :
  1. sort +0.n -0.m FichierEntrée > FichierSortie


 
Pour rappel on trie sur des champs dont le séparateur initial est l'espace, donc si tu veux trier sur les premiers caractères de ta ligne, ou si tu n'as pas d'espaces dans ton fichier, en fait tu tries sur le premier champ (donc le champ 0, on est en informatique  :ange: )
 
Ensuite, ben on effectue le tri à partir du caractère n+1 jusqu'au caractère m+1  :ouch: Je m'explique :
 - L'option '+' désigne l'offset du curseur pour commencer tri, l'option '-' désigne la position de fin. => +début -fin
- A gauche du point '.' on a le champ visé, à droite la position du caractère visé dans ce champ ( ex: "0.3" = 4° caractère du premier champ) => +0.1 -0.3 va indiquer une clé de tri composée des caractères 2, 3 et 4 du début de la ligne.
 
Donc pour revenir à la syntaxe décrite ci-dessus, on va bien trier sur les caractères compris entre (n+1) et (m+1) depuis le début de la ligne.
 
Voilà, en espérant avoir été assez clair pour t'aider.
 


---------------
En programmation, quand t'as un problème et qu'il n'y a que deux solutions valides, seule la troisième fonctionne !
Reply

Marsh Posté le 07-05-2010 à 17:02:17    

Kerrozen a écrit :

Elmoricq : jolie façon de dire RTFM ;-)  :lol:  :ouch:   :sol: :kaola:  


 
Oui et non. Je me cite :

Citation :

Selon les unix utilisés, les arguments des commandes peuvent varier.  

Reply

Marsh Posté le 07-05-2010 à 17:24:20    

Fallait pas le prendre mal ;-)
 
Je suis d'accord avec toi, mais déjà si le principe des options '+' et '-' est compris, ainsi que celui du '.', alors il va gagner du temps en épluchant son 'man sort'.


---------------
En programmation, quand t'as un problème et qu'il n'y a que deux solutions valides, seule la troisième fonctionne !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed