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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
patpro ~ patrick proniewski
In article <1j501y3.ug8wea1g5y7phN%, (Daniel Robillard) wrote:
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 ?
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 :
-- A vendre : KVM IP 16 ports APC http://patpro.net/blog/index.php/2008/01/12/133
In article <1j501y3.ug8wea1g5y7phN%danrob@libre.fr>,
danrob@libre.fr (Daniel Robillard) wrote:
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 ?
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 :
In article <1j501y3.ug8wea1g5y7phN%, (Daniel Robillard) wrote:
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 ?
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 :
-- A vendre : KVM IP 16 ports APC http://patpro.net/blog/index.php/2008/01/12/133
danrob
patpro ~ patrick proniewski 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.
patpro ~ patrick proniewski <patpro@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.
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.
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 ?
Daniel Robillard <danrob@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.
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 ?
francois.jacquemin
Daniel Robillard wrote:
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 ?
essaye par là : <http://www.scriptweb.org/> -- F. J.
Daniel Robillard <danrob@libre.fr> wrote:
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 ?
essaye par là :
<http://www.scriptweb.org/>
--
F. J.
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 ?
essaye par là : <http://www.scriptweb.org/> -- F. J.
danrob
François Jacquemin wrote:
<http://www.scriptweb.org/>
Problème résolu. Merci pour le lien, je le garde au chaud.
François Jacquemin <francois.jacquemin@free.fr> wrote:
<http://www.scriptweb.org/>
Problème résolu.
Merci pour le lien, je le garde au chaud.