[gull] sh, awk, et les guillemets

Pierre Maitre po.maitre at gmail.com
Wed Apr 15 23:35:49 CEST 2009


Le 14 avril 2009 15:57, Sebastien Chassot <seba.linux at sinux.net> a écrit :
> 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"?

Oui, j'y ai pensé aussi.  Malheureusement, avec le \"   , nid n'est
plus reconnu comme nom de variable

> Deuxième remarque, c'est /bin/sh qui semble se plaindre de la syntaxe
> pas awk !??

Oui mais c'est quand même awk le fautif. Si le problème survient avec
une version de awk et pas avec une autre, c'est probablement au niveau
du passage d'arguments  entre la shell et awk qu'est  le problème.



2009/4/14 Leopoldo Ghielmetti <leopoldo.ghielmetti at a3.epfl.ch>:
> 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

Voila la solution:  apt-get install gawk  et  ça marche aussi chez moi!
Sur Ubuntu, gawk n'est pas installé par défaut (awk pointe vers mawk)
et je n'y avais pas pensé
Problème résolu.  Merci Leopoldo


Pierre Maitre

PS  Pour ceux qui ne connaissent pas, awk est le véritable Swiss Army
Knife  pour transformer un fichier de données d'un format vers un
autre et pour manipuler des données.


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