AWK - Tester deux variables introduites à partir du shell
Bonjour,
Je me casse les dents sur le programme suivant (présenté ici seulement sous forme d'extrait) :
Code:
1 2 3 4 5 6
| awk -F '\t' -v complet=foo -v partiel=bar '{
...
if ($4==complet) stop=oui
if (stop==oui && $4==partiel) exit
...
}' |
Tant que j'utilise les variables "complet" et "partiel" dans le script, je n'obtiens aucun résultat à l'écran. Si, par contre, je remplace "partiel" par sa valeur directement dans le script, en faisant :
Code:
if (stop==oui && $4==bar) exit
J'obtiens le résultat attendu. Si, de même, je remplace les deux variables par leur valeur...
Code:
1 2
| if ($4==foo) stop=oui
if (stop==oui && $4==bar) exit |
... j'obtiens toujours le résultat attendu. Mais, si je remplace uniquement la première variable par sa valeur, je n'ai encore aucun résultat à l'écran.
D'où vient cette bizarrerie ? Dois-je corriger quelque chose dans ma manière de tester la valeur des variables ?