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 <etienne.moll...@mailoo.org> 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