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 :
Le séparateur de champs du fichier est -
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 >AFG01-PJ0 TGTACAAGACCCAACAACAACACAAGAAAAAGTATACATATAGGACCAGGAAGAGCA TTTTCTGCAACAGGACAAATAATAGGAAAGATAAGAGAAGCACACTGT >AFG02-M93 TGTACAAGACCCAACAACAACACAAGAAAAAGTATACATATAGGACCAGGAAGAGCA TTTTATGCAACAGGAGAAATAATAGGAAACGTAAGAGAAGCACATTGT
voici mon script awk :
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
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
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 awk: line 5: illegal reference to variable tab
Mon tableau tabStade est donc bien déclaré dans la variable tab.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 3 PJ0 M93 M156 3 PJ0 M93 M156
Quelqu'un voit il mon erreur, merci?
Partager