Juste avant les chiffres

Le
Ozzii
Bonsoir,

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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Emmanuel Florac
Le #20326321
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.
Ozzii
Le #20326511
> 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 ?
Stephane CHAZELAS
Le #20326771
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
Ozzii
Le #20328391
On 10 oct, 11:01, Stephane CHAZELAS wrote:

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

(avec un sh standard).

--
Stéphane



Merci beaucoup, c'est ça.
Publicité
Poster une réponse
Anonyme