Dans le code suivant, j'essaie de passer shell varibale à awk. Mais quand j'essaie de l'exécuter en tant que a.sh foo_bar la sortie imprimée est "foo n'est pas déclarée" et quand je l'exécute en tant que bar.bar bar, la sortie imprimée est "foo est déclarée". Y at-il un bug dans awk ou je fais quelque chose de mal ici? J'utilise gawk-3.0.3.Variable Shell interprétée à tort dans awk
#!/bin/awk
model=$1
awk ' {
match("'$model'", /foo/)
ismodel=substr("'$model'", RSTART, RLENGTH)
if ( ismodel != foo) {
print " foo is not declared"
} else {
print " foo is declared"
}
}
' dummy
dummy est un fichier avec une seule ligne vide.
Merci,
Merci schot! Cela fonctionne comme vous l'avez dit. Le mannequin juste par exemple ici. –