Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.os.unix > #8132

Shell : extraire d'une chaine plusieurs sous-chaines

From Olivier Miakinen <om+news@miakinen.net>
Newsgroups fr.comp.os.unix, fr.comp.os.linux.configuration, fr.comp.lang.regexp
Subject Shell : extraire d'une chaine plusieurs sous-chaines
Followup-To fr.comp.os.unix
Date 2025-11-25 19:08 +0100
Organization There's no cabale
Message-ID <10g4rbq$2i1$1@cabale.usenet-fr.net> (permalink)

Cross-posted to 3 groups.

Followups directed to: fr.comp.os.unix

Show all headers | View raw


[diapublication, suivi vers fr.comp.os.unix seul]

Bonjour,

Dans un script ksh, je cherche la façon la plus élégante d'extraire
d'une chaine plusieurs sous-chaines. Le cas réel est plus complexe
que celui que je vais exposer, mais je saurai extrapoler ensuite.


Supposons que j'ai une chaine constituée d'1 ou plusieurs lettres,
puis 1 chiffre, puis optionnellement d'autres lettres, puis encore
1 ou plusieurs chiffres. Pour fixer les idées, disons que la chaine
répondrait à la regex suivante :
   /[a-z]+[0-9][a-z]*[0-9]+/

Je voudrais extraire chaque partie dans une variable différente.
Quelques exemples :
 s="test1xyz27"  ->  v1="test" v2="1"  v3="xyz"  v4="27"
 s="aa9toto000"  ->  v1="aa"   v2="9"  v3="toto" v4="000"
 s="x012"        ->  v1="x"    v2="0"  v3=""     v4="12"

Bien sûr je sais le faire en autant d'étapes qu'il y a de parties
à récupérer, en obtenant les variables l'une après l'autre. Mais
existe-t-il un moyen plus direct ?


Quelques précisions :
- le ksh sur cette machine ne connait pas la syntaxe [[ ... =~ ... ]]
- mais j'ai accès à perl 5, sed, awk, et probablement d'autres outils
  unix standards.


[suivi par défaut vers fcou mais vous pouvez faire suivre ailleurs si
cela vous semble plus approprié]

Cordialement,
-- 
Olivier Miakinen

Back to fr.comp.os.unix | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-25 19:08 +0100
  Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-25 19:45 +0000
    Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-25 22:36 +0100
      Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-25 23:48 +0000
        Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-26 11:55 +0100
          Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-26 12:37 +0100
            Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-26 13:50 +0100
              Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-26 21:58 +0000
                Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-27 01:09 +0100
                Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-28 15:45 +0000
                Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-12-08 14:27 +0100
            Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-26 21:29 +0000
          Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-26 21:16 +0000
            Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-27 00:52 +0100
  Re: Shell : extraire d'une chaine plusieurs sous-chaines Nicolas George <nicolas$george@salle-s.org> - 2025-11-25 20:32 +0000
    Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-25 22:42 +0100
    Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-28 15:58 +0000
  Re: Shell : extraire d'une chaine plusieurs sous-chaines kurtz le pirate <kurtzlepirate@free.fr> - 2025-11-27 10:59 +0100
  Re: Shell : extraire d'une chaine plusieurs sous-chaines kurtz le pirate <kurtzlepirate@free.fr> - 2025-11-27 11:07 +0100
  Re: Shell : extraire d'une chaine plusieurs sous-chaines Doug713705 <doug.letough@free.fr> - 2025-12-20 12:30 +0000
    Re: Shell : extraire d'une chaine plusieurs sous-chaines Nicolas George <nicolas$george@salle-s.org> - 2025-12-20 13:44 +0000
    Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-12-21 21:19 +0100

csiph-web