[gull] sh, awk, et les guillemets
Pierre Maitre
po.maitre at gmail.com
Tue Apr 14 13:20:07 CEST 2009
Bonjour à tous
J'utilise un petit programme que j'ai écrit avec awk il y a 19 ans et
qui me sert à faire mes factures. Il a passé sans encombres la
succession des OS unix que j'ai eus: Unix AT&T, SunOS, et Linux
jusqu'à Debian Woody.
Depuis Sarge, puis Ubuntu, le programme awk "officiel" ne reconnaît
plus ma syntaxe (voir ci dessous) et j'utilise donc la version awk de
Woody, qui fonctionne, et que je sauve précieusement à chaque upgrade.
C'est pas très élégant comme méthode, et j'aimerais bien changer mon
code pour qu'il fonctionne avec la version actuelle de awk.
J'ai des problèmes de guillemets ou de protection de guillemets
le code awk en question:
{
#....
# valeur de la variable nid obtenue plus haut
#### search the address in the file "clients" :
while( "egrep -e '"nid"' clients" | getline ) {}
nom = $12
close ( "egrep -e '"nid"' clients" )
print nom
}
Le code ci-dessus est pourtant conforme au livre de référence: "The
AWK programming language" by A. Aho, B. Kernighan, P. Weinberger
/Addison-Wesley/1988 (p 59)
le message d'erreur avec nawk et mawk:
/bin/sh: Syntax error: Unterminated quoted string
Est-ce un bug dans la nouvelle version de awk ou est-ce que je ne
protège pas mes guillemets correctement?
Pierre Maitre
--
Dr Pierre-O. Maitre
Privat-Docent
FMH Anesthésiologie
FMH Pharmacologie Clinique
Cabinet médical / A la Joy
1272 Genolier
More information about the gull
mailing list