Bon, dix ans plus tard, tu as du résoudre ton problème
mais voici quand même une réponse, des fois que quelqu'un tombe sur cette question :

Envoyé par
nina2007
j'utilise awk pour des traitements de fichier.
J'ai un tableau dans lequel je stocke des valeurs
quand je veux parcourir le tableau, je fais
for (k in tableau)
{ ---- traitement }
je ne comprends pas pourquoi mais le parcours ne se fais pas dans l'ordre!!
est ce que vous savez pourquoi?
Oui, parce qu'awk ne maintient pas l'ordre dans lequel les données sont stockées dans un tableau. Le standard POSIX n'imposant pas de le faire, c'est l'implémentation la plus rapide qui a été choisie.
Cependant, GNU awk permet si on le souhaite de parcourir un tableau dans un ordre donné à l'aide de la directive PROCINFO["sorted_in"] :
Par exemple, si tu veux un tri alphanumérique descendant en fonction de la valeur des éléments du tableau, tu rajoutes cette ligne avant le for:
PROCINFO["sorted_in"]="@val_asc_desc"
Si tu veux un tri numérique ascendant en fonction des indices du tableau:
PROCINFO["sorted_in"]="@ind_num_desc"
sinon, autre petite question, si je veux connaitre la taille du tableau, est ce qu'il y a moyen, genre "lenght"?
Ben oui, justement length(tableau). Attention à l'orthographe, c'est "gth" à la fin, pas "ght"
!
Partager