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: Wed, 26 Nov 2025 12:37:38 +0100 Organization: There's no cabale Lines: 34 Message-ID: <10g6oq2$22rd$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> 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 1764157058 68461 2a02:8424:7701:5901:e8d5:91a4:b9c9:5f47 (26 Nov 2025 11:37:38 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Wed, 26 Nov 2025 11:37:38 +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: <10g6mb9$16sl$1@cabale.usenet-fr.net> Xref: csiph.com fr.comp.os.unix:8139 Le 26/11/2025 à 11:55, je répondais à Christian Weisgerber : > >> while read -r v1 && read -r v2 && read -r v3 && read -r v4; do >> echo "v1=$v1 v2=$v2 v3=$v3 v4=$v4" >> done <> $(perl -pe 's/([a-z]+)([0-9])([a-z]*)([0-9]+)/$1\n$2\n$3\n$4/') >> EOF > > Par ailleurs, pour le moment cela fonctionne si je passe la chaine > en entrée du script dans stdin, mais je voudrais plutôt que cette > chaine soit une variable dans le script. Comment changer le code > pour cela ? Ok, j'ai trouvé une solution pour cela, et aussi pour pouvoir utiliser les variables *après* avoir exécuté le code plutôt qu'à l'intérieur du while, et sans que v1 ne soit écrasée par le dernier tour de boucle : ================================================================== string=x012 while read -r v1 && read -r v2 && read -r v3 && read -r v4 && \ read -r junk ; do : done <