awk et parcours de tableau (illegal reference to variable)
Bonjour, je bloque sur un message d'erreur concernant awk et le parcourt d'un tableau.
J'ai un fichier qui contient les lignes suivantes :
Code:
1 2 3 4 5 6
| >AFG01-PJ0
TGTACAAGACCCAACAACAACACAAGAAAAAGTATACATATAGGACCAGGAAGAGCA
TTTTCTGCAACAGGACAAATAATAGGAAAGATAAGAGAAGCACACTGT
>AFG02-M93
TGTACAAGACCCAACAACAACACAAGAAAAAGTATACATATAGGACCAGGAAGAGCA
TTTTATGCAACAGGAGAAATAATAGGAAACGTAAGAGAAGCACATTGT |
Le séparateur de champs du fichier est -
voici mon script awk :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| #! /bin/bash
nbStades=3
tabStade=('PJ0' 'M93' 'M156')
awk -F"-" -v nbStades="$nbStades" -v tab="${tabStade[*]}" '{
if($1 ~ /^>/) {
print nbStades
print tab
for (x in tab) {print "Valeur tab : " x}
}
}' $1 |
Lorsque j'exécute ce code avec mon fichier en argument, j'obtiens l'erreur suivante :
Code:
awk: line 5: illegal reference to variable tab
Et dans le cas où je supprime la ligne 10 (boucle for), mon script s'exécute correctement :
Code:
1 2 3 4
| 3
PJ0 M93 M156
3
PJ0 M93 M156 |
Mon tableau tabStade est donc bien déclaré dans la variable tab.
Quelqu'un voit il mon erreur, merci?