Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Index de tri

0 views
Skip to first unread message

Daniel Robillard

unread,
Aug 25, 2009, 4:25:49 AM8/25/09
to
Pour un Applescript je cherche a trier un tableau via do shell script
qui donne comme r�sultat l'index de tri et non le tableau tri�.
La commande 'sort' n'a pas d'option pour �a.
Y-a-t-il une autre commande, rien trouv� dans man ?

patpro ~ patrick proniewski

unread,
Aug 25, 2009, 5:12:38 AM8/25/09
to
In article <1j501y3.ug8wea1g5y7phN%dan...@libre.fr>,
dan...@libre.fr (Daniel Robillard) wrote:

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

Daniel Robillard

unread,
Aug 27, 2009, 5:19:43 AM8/27/09
to
patpro ~ patrick proniewski <pat...@boleskine.patpro.net> wrote:

> 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

Daniel Robillard

unread,
Aug 27, 2009, 6:30:18 AM8/27/09
to
Daniel Robillard <dan...@libre.fr> wrote:

> 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 ?

François Jacquemin

unread,
Sep 13, 2009, 9:47:36 PM9/13/09
to
Daniel Robillard <dan...@libre.fr> wrote:

essaye par l� :
<http://www.scriptweb.org/>
--
F. J.

Daniel Robillard

unread,
Sep 15, 2009, 10:30:10 AM9/15/09
to
Fran�ois Jacquemin <francois....@free.fr> wrote:

> <http://www.scriptweb.org/>

Probl�me r�solu.
Merci pour le lien, je le garde au chaud.

0 new messages