Problème de passage de tableau Shell --> AWK
Bonjour à tous,
j'ai un problème concernant un programme awk.
Je souhaite pouvoir récupérer les valeurs d'un tableau défini en shell dans mon script awk.
Peu importe si ce tableau est passé en paramètre via une variable ou reste une variable shell que le programme awk ne connait pas.
L'important est de pouvoir y accéder.
Mon tableau se remplit correctement mais je n'arrive pas à accéder à l'élément "x". Le x étant défini dans mon programme awk dans une boucle. La variable x prend bien les valeurs successives mais tab[x] me renvoie toujours la dernière ligne de tab.
Voici comment est defini mon tableau :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
# STOCKE LE FICHIER ENTETE DANS LE TABLEAU entetes
entetes=( $( cat $1 ) )
# STOCKE LE FICHIER LIGNES DANS LE TABLEAU lignes
lignes=( $( cat $2 ) )
#"for index in "${!entetes[@]}";
# do echo ${entetes[$index]};
#done
#for index in "${!lignes[@]}";
# do echo ${lignes[$index]};
#done
awk -v fic_lignes=$2 -v fic_entete=$1 -v fic_err=$3 -f commande.awk < $1 > sortie
echo "FIN" |
Les tableaux se remplissent correctement. Le parcours affichent bien l'ensemble des valeurs.
Code:
1 2 3 4 5 6 7 8 9 10 11
|
[...]
END {
### DEBUG ###
#Je teste juste sur les 100 premieres valeurs pour verifier que je recupere les bonnes valeurs
for (w=0;w<100;w++)
{
print "entetes[" w "] = " $entetes[w]
}
} |
Il s'emblerait que le tableau n'est pas "indexé" comme prévu.
Comme on dit souvent souvent "need help !"
Merci aux courageux qui prendront le temps de répondre. ;)