Bonjour, Je crois que le problème vient des simple quotes surnuméraires en début et fin d'expression
BERTRAND Joël, on 2020-11-01 10:34:14 +0100:
> Sur la console, j'obtiens bien :
> 0: awk
> 1: 'BEGIN { I=0; } /<comp ref=.*>/ { I=I+1; } { if (I>0) print; } /<\/comp>/
> { I=I-1; }'
ici:
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
$ ls
alimentations_haute_tension.xml truc truc.c
$ ./truc
0: awk
1: BEGIN { I=0; } /<comp ref=.*>/ { I=I+1; } { if (I>0) print; }
/<\/comp>/ { I=I-1; }
2: alimentations_haute_tension.xml
3: (null)
> 2: alimentations_haute_tension.xml
> 3: (null)
>
> Donc argc[0] vaut awk, argc[1] vaut bien le contenu du script awk et
> argc[2] le nom du xml à analyser.
>
> Résultat :
>
> "awk: ligne de commande:1: 'BEGIN { I=0; } /<comp ref=.*>/ { I=I+1; } { if
> (I>0) print; } /<\/comp>/ { I=I-1; }'"
En ajoutant les simple quotes en Debian Sid, j'obtiens bien une
erreur similaire, modulo la localisation:
$ ./truc
0: awk
1: 'BEGIN { I=0; } /<comp ref=.*>/ { I=I+1; } { if (I>0) print; }
/<\/comp>/ { I=I-1; }'
2: alimentations_haute_tension.xml
3: (null)
awk: cmd. line:1: 'BEGIN { I=0; } /<comp ref=.*>/ { I=I+1; } { if (I>0)
print; } /<\/comp>/ { I=I-1; }'
awk: cmd. line:1: ^ invalid char ''' in expression
J'imagine que la solution de contournement fait l'affaire, mais
si ça peut éclairer votre lanterne...
Bonne soirée,
--
Étienne Mollier <[email protected]>
Old rsa/3072: 5ab1 4edf 63bb ccff 8b54 2fa9 59da 56fe fff3 882d
New rsa/4096: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da
Sent from /dev/pts/3, please excuse my verbosity.
signature.asc
Description: PGP signature

