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

Fermé
Llya - 28 oct. 2010 à 16:02
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 28 oct. 2010 à 16:29
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 !
A voir également:

3 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
28 oct. 2010 à 16:29
Re-

Si c'est les seuls nombres de la chaine :

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

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


tmp=$(echo "$var"|cut -d"-" -f2)
nombres=$(echo "$tmp"|cut -d" " -f1)
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
28 oct. 2010 à 16:19
echo $var | tr "-" " "|cut -f 2
ou :
echo $var | cut -d "-" -f 2 |cut -f 1
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
28 oct. 2010 à 16:24
Salut,

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

;-))
0