[shell] tri

tri [shell] - Shell/Batch - Programmation

Marsh Posté le 29-03-2004 à 14:24:03    

Voila sous shell (linux) j'aimerais savoir comment (si c'estpossible) faire pour trier les mots d'une ligne par exemple:
 
ligne initiale : "CC1 CC2 CC12 CC4 CC21 ALI"
ligne désirée : "ALI CC1 CC12 CC2 CC21 CC4"
 
VOila merci de vos reponses.
Je chercherais une solution sans l'utilisation de ack ou sed , en fait si c'est possible avec la commande sort ca serait l'ideal !!!
 
 

Reply

Marsh Posté le 29-03-2004 à 14:24:03   

Reply

Marsh Posté le 29-03-2004 à 14:48:07    

Bon j'ai trouvé merci.

Reply

Marsh Posté le 29-03-2004 à 17:15:31    

Merci d'en faire profiter tout le monde.

Reply

Marsh Posté le 29-03-2004 à 19:55:46    

echo $phraseatrier | tr ' ''\n' '\n''\t'|sort -d|tr '\n''\t' ' ''\n'
 
voila c est pas terrible mais j'ai trouvé que ca pour l'instant.

Reply

Marsh Posté le 30-03-2004 à 03:23:59    

En perl tu peux faire :

echo "CC1 CC2 CC12 CC4 CC21 ALI" | perl -ne 'print join(" ", sort(split(" " ))); print "\n"'


Et si tu passes plusieurs ligne, ca va trier les mots de chaque ligne. C'est magique Perl :D

Reply

Sujets relatifs:

Leave a Replay

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