[gull] sh, awk, et les guillemets
Sebastien Chassot
seba.linux at sinux.net
Tue Apr 14 15:57:51 CEST 2009
On Tue, 2009-04-14 at 13:20 +0200, Pierre Maitre wrote:
> 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.
>
Bonjour,
il m'a semblé comprendre qu'il y a plusieurs implémentations des regexp.
Perso je suis sous FreeBSD et la syntaxe awk n'est pas la même que sous
linux, ça ce joue à peu mais il faudrait peut-être déjà voir s'il y a eu
un changement à ce niveau. (DFA, NFA,...)
> 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
> }
>
Est-ce que tu as essayé d'échapper les guillemets entourant nid
( '\"nid\"' ) parce qu'il me semble que le premier guillemets est
interprété comme "fermant"?
Deuxième remarque, c'est /bin/sh qui semble se plaindre de la syntaxe
pas awk !??
More information about the gull
mailing list