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 :
Les tableaux se remplissent correctement. Le parcours affichent bien l'ensemble des valeurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"
Il s'emblerait que le tableau n'est pas "indexé" comme prévu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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] } }
Comme on dit souvent souvent "need help !"
Merci aux courageux qui prendront le temps de répondre.![]()
Partager