[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