[shell] extraction de nombre d'une chaîne

Llya -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je cherche à extraire des nombres d'une chaîne de caractère. Je m'explique :

j'ai une chaîne comme ceci dans une variable var:

< mot-12345 blablablabla
< mot-154 blablablablabla blablabla blablabla
<mot-6543 blabla


Je voudrais récupérer les nombres qui suivent mot-

j'ai essayé avec une solution en sed mais je suis pas douée et ça a rirn donné ><' .
Ma solution echo $var | sed -n "s/.*mot-\([^]*\).*/\1/p"

Est-ce que quelqu'un a une idée ?

Merci pour votre aide !

3 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Re-

    Si c'est les seuls nombres de la chaine :

     egrep -o '[[:digit:]]*'

    devrait suffire ;-))
    3
  2. Llya
     
    En fait j'ai réussi :

    tmp=$(echo "$var"|cut -d"-" -f2)
    nombres=$(echo "$tmp"|cut -d" " -f1)
    0
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      echo $var | tr "-" " "|cut -f 2
      ou :
      echo $var | cut -d "-" -f 2 |cut -f 1
      0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    sed -n "s/.*mot-\([^ ]*\) .*/\1/p" 

    ;-))
    0