Erreur dans un programme awk
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:
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:
./awk_ajoutlignes_gf.sh: 0403-057 Erreur de syntaxe Ó la ligne 133 : `(' inattendu.
la ligne 133 étant la suivante
Code:
print " to_number(nvl(:sessionid,\'0\')),"
Quelqu'un peut-il m'aider svp