Bonjour,

j'ai écrit un programme awk (avec la participation de certains d'entre vous) pour modifier mes programme .pc sous unix.

Dans une partie de mon code, j'ajoute des instructions,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
if ($0 ~ /return\(0\);/) {
   print " EXEC SQL ROLLBACK WORK; /*  RELEASE;   GF 01102007 */"
   print "/* GF 01102007 debut :  */"
   print "  sprintf(lib err1,\"argc[0] TRAITEMENT TERMINE ANORMALEMENT, CODE ERREUR = %.70s (%d)\",sqlca.sqlerrm.sqlerrmc,-sqlca.sqlcode);"
   print "  varCpy(lib_err,lib_err1);"
   print "  EXEC SQL EXECUTE"
   print "  BEGIN"
   print "  :cd_ret := FSET_MESSAGE\(\'SYSTEM\',\'SERVEUR\',0,:User,"
   print "    to_number(nvl(:sessionid,\'0\')),"
   print "    \'M\',sysdate,:lib_err\);"
   print "  END;"
   print "  END-EXEC;"
   print "/* GF 01102007 fin   */"
Au niveau de print " :cd_ret := FSET_MESSAGE\(\'SYSTEM\',\'SERVEUR\',0,:User,"
j'ai rajouté des \ devant les ' sinon les ' n'apparaissaient pas dans mes programme .pc modifié.

et depuis quand j'exécute mon awk j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
./awk_ajoutlignes_gf.sh: 0403-057 Erreur de syntaxe Ó la ligne 133 : `(' inattendu.
la ligne 133 étant la suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
print "    to_number(nvl(:sessionid,\'0\')),"
Quelqu'un peut-il m'aider svp