ce que tu cherches � obtenir c'est donc la liste des num�ros de ligne
dans l'ordre obtenu apr�s le tri. C'est bien �a ?
J'ai un bout de solution, quick&dirty :
soit une table /tmp/table :
$ cat /tmp/table
B 123 =
A 789 /
C 456 +
tu dois ajouter un num�ro de ligne :
$ awk '{print NR" "$0}' /tmp/table
1 B 123 =
2 A 789 /
3 C 456 +
tu dois ensuite faire ton tri, par exemple sur la colonne 2 (B,A,C) :
$ awk '{print NR" "$0}' /tmp/table | sort --key=2
2 A 789 /
1 B 123 =
3 C 456 +
Pour finir, tu ne veux afficher que la liste des num�ros de ligne :
$ awk '{print NR" "$0}' /tmp/table | sort --key=2 | awk '{print $1}'
2
1
3
Si tu tries sur la colonne de nombres :
$ awk '{print NR" "$0}' /tmp/table | sort --key=3 | awk '{print $1}'
1
3
2
et sur la colonne de signes :
$ awk '{print NR" "$0}' /tmp/table | sort --key=4 | awk '{print $1}'
3
2
1
patpro
--
A vendre : KVM IP 16 ports APC
http://patpro.net/blog/index.php/2008/01/12/133
> ce que tu cherches � obtenir c'est donc la liste des num�ros de ligne
> dans l'ordre obtenu apr�s le tri. C'est bien �a ?
>
> J'ai un bout de solution, quick&dirty :
Merci mais trop dirty pour moi, je veux garder les mains propres ;-)
En fait j'ai ce tri en Applescript mais avec plus de 10000 lignes �a
rame trop.
J'ai trouv� une solution avec un tri direct.
Toutefois y'a un truc bizarre qui me bloque.
Si mes donn�es sont directement fournies en constante dans une variable
le tri est bon.
Par contre si elles sont g�n�r�es � partir de champs de iView MediaPro
la sortie est identique � l'entr�e.
Que le texte soit en Unicode ou pas.
do shell script "sort -f -t " & return & " " & TempFile
Mac OS 10.4.11, Applescript 1.10.7
> Toutefois y'a un truc bizarre qui me bloque.
> Si mes donn�es sont directement fournies en constante dans une variable
> le tri est bon.
> Par contre si elles sont g�n�r�es � partir de champs de iView MediaPro
> la sortie est identique � l'entr�e.
J'ai trouv�.
Quand je mets le texte en constante il s'av�re que le saut de ligne est
LF (Ascii 10).
Or dans la commande 'sort' le d�limiteur de champ est 'return" soit CR
(Ascii 13) et pourtant le tri est fait.
Si j'utilise LF pour g�n�rer le texte par programme et CR comme
s�parateur de champs pour 'sort' alors le tri fonctionne.
Viscieux n'est-il pas ?
Probl�me r�solu.
Merci pour le lien, je le garde au chaud.