Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Juste avant les chiffres

4 réponses
Avatar
Ozzii
Bonsoir,

y a t'il un moyen de r=E9cup=E9rer la valeur d'une variable, mais juste ce
qui se trouve avant les chiffres et oculter le reste:

Exemple:
VAR=3Dlettres.chiffres.suite
VAR2=3Dlettres.lettres.lettres.chiffres.suite

En faite ce qu'il me faudrais c'est:
RESULT_VAR=3Dlettres
RESULT_VAR2=3Dlettres.lettres.lettres

Merci par avance

4 réponses

Avatar
Emmanuel Florac
Le Fri, 09 Oct 2009 13:46:41 -0700, Ozzii a écrit:


y a t'il un moyen de récupérer la valeur d'une variable, mais juste ce
qui se trouve avant les chiffres et oculter le reste:

Exemple:
VAR=lettres.chiffres.suite
VAR2=lettres.lettres.lettres.chiffres.suite

En faite ce qu'il me faudrais c'est:
RESULT_VAR=lettres
RESULT_VAR2=lettres.lettres.lettres

Merci par avance



C'est pas clair ton histoire... en particulier le résultat. En gros tu
dois utiliser les expressions régulières, avec sed ou perl (ou awk ou...).

exemple :

TOTO=zlgkhg123lkrgj
$CHIFFRES=`echo $TOTO | sed 's/[a-z]//g'`
$LETTRES=`echo $TOTO | sed 's/[0-9]//g'`





--
Sutor ne ultra Crepidam.
Avatar
Ozzii
> TOTO=zlgkhg123lkrgj



En fait dans ton exemple le résultat serais:
$LETTRES=zlgkhg

Je voudrais recuperer ce qu'il y a devant les chiffres et passé le
reste à la trappe( ici 123lkrgj).

Peut-être un peut + clair maintenant ?
Avatar
Stephane CHAZELAS
2009-10-10, 01:43(-07), Ozzii:
TOTO=zlgkhg123lkrgj



En fait dans ton exemple le résultat serais:
$LETTRES=zlgkhg

Je voudrais recuperer ce qu'il y a devant les chiffres et passé le
reste à la trappe( ici 123lkrgj).

Peut-être un peut + clair maintenant ?



LETTRES=${TOTO%%[0-9]*}

(avec un sh standard).

--
Stéphane
Avatar
Ozzii
On 10 oct, 11:01, Stephane CHAZELAS
wrote:

LETTRES=${TOTO%%[0-9]*}

(avec un sh standard).

--
Stéphane



Merci beaucoup, c'est ça.