Path: csiph.com!pasdenom.info!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen Newsgroups: fr.comp.os.unix Subject: Re: Shell : extraire d'une chaine plusieurs sous-chaines Date: Thu, 27 Nov 2025 01:09:14 +0100 Organization: There's no cabale Lines: 42 Message-ID: <10g84rb$2vr6$1@cabale.usenet-fr.net> References: <10g4rbq$2i1$1@cabale.usenet-fr.net> <10g57g3$20kd$1@cabale.usenet-fr.net> <10g6mb9$16sl$1@cabale.usenet-fr.net> <10g6oq2$22rd$1@cabale.usenet-fr.net> <10g6t2f$n1i$1@cabale.usenet-fr.net> NNTP-Posting-Host: 2a02-8424-7701-5901-e8d5-91a4-b9c9-5f47.rev.sfr.net Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: cabale.usenet-fr.net 1764202155 98150 2a02:8424:7701:5901:e8d5:91a4:b9c9:5f47 (27 Nov 2025 00:09:15 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Thu, 27 Nov 2025 00:09:15 +0000 (UTC) User-Agent: Betterbird (Linux) Content-Language: en-US Cancel-Lock: sha256:RBJ8ZsgqBnW/tYT/qu1JcXK8SA2O9g+qJLDzRY5h1cg= Cancel-Key: sha256:f0rHwfZXp5iKFjTbX/I5bQXh9Dta33nWBzLi8f9oaoM= In-Reply-To: Xref: csiph.com fr.comp.os.unix:8145 Le 26/11/2025 à 22:58, Christian Weisgerber a écrit : > On 2025-11-26, Olivier Miakinen wrote: > >> J'ai trouvé : >> >> IFS=: read v1 v2 v3 v4 <> $(echo $string | \ >> perl -pe 's/^([a-z]+)([0-9])([a-z]*)([0-9]+)$/$1:$2:$3:$4/') >> EOF > > Et là on s'approche de ma première réponse. ... première réponse que je n'avais pas comprise, et je te dois des excuses pour l'avoir écartée à cause de cela avant d'y revenir par moi-même. > Jusqu'ici ces solutions marchent avec quelconque shell POSIX. Mais > si tu utilise le ksh, on peut se servir d'un co-processus. Hélas c'est une très vieille version du ksh, antérieure à ksh93, et il y a un certain nombre de syntaxes qui ne fonctionnent pas. Par exemple celle avec accolades au lieu de parenthèses (que tu donnes dans ta réponse de 22 h 29) pour éviter de lancer un sous-shell. > > # lance le co-processus > perl -pe '$|=1; s/^([a-z]+)([0-9])([a-z]*)([0-9]+)$/$1:$2:$3:$4/' |& > [...] J'essaierai par curiosité, mais j'ai peu d'espoir que cela fonctionne. De toute façon, maintenant j'ai grâce à toi fini par obtenir un résultat très satisfaisant, beaucoup plus lisible et plus court que ce que je faisais auparavant à base de substitution de variables, alors je vais me tenir à cette solution. Encore merci pour tout ! Cordialement, -- Olivier