[gull] sh, awk, et les guillemets

Leopoldo Ghielmetti leopoldo.ghielmetti at a3.epfl.ch
Tue Apr 14 14:37:58 CEST 2009


Il giorno mar, 14/04/2009 alle 13.20 +0200, Pierre Maitre ha scritto:
> Bonjour à tous

salut,

Je commence par dire que je ne suis pas du tout un pros de awk!

> 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
> }

Je viens de l'exécuter sur mon Ubuntu 8.04 et il marche sans problèmes:
> touch clients
> echo toto | awk '{
#....
# 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
}'
>

Aucune erreur affichée.

Il s'agit de GNU Awk 3.1.6

> 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

ciao, Leo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Questa ? una parte del messaggio	firmata digitalmente
URL: <http://forum.linux-gull.ch/pipermail/gull/attachments/20090414/3c2330c7/attachment.pgp>


More information about the gull mailing list