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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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?