Sed "s/.*\([0-9][0-9]*\).*/ resultat = \1/&qu
Mickael
-
mickael3905 -
mickael3905 -
Bonjour,
Je cherche à isoler un nombre dans une chaîne de caractères avec la fonction sed (j'appliquerai ensuite cette méthode à un fichier de dépouillement de résultats). J'y suis presqu'arrivé mais je suis bloqué. Dans l'exemple ci-dessous, j'obtient résulat = 8 au lieu de résultat = 158.
chaine de départ ejkf fed 158e fd
commande s/.*\([0-9][0-9]*\).*/ resultat = \1/
resultat resultat = 158
Si quelqu'un pouvait m'indiquer ou est mon erreur, ça me rendrait bien service.
Merci d'avance pour vos réponses.
Mickaël
Je cherche à isoler un nombre dans une chaîne de caractères avec la fonction sed (j'appliquerai ensuite cette méthode à un fichier de dépouillement de résultats). J'y suis presqu'arrivé mais je suis bloqué. Dans l'exemple ci-dessous, j'obtient résulat = 8 au lieu de résultat = 158.
chaine de départ ejkf fed 158e fd
commande s/.*\([0-9][0-9]*\).*/ resultat = \1/
resultat resultat = 158
Si quelqu'un pouvait m'indiquer ou est mon erreur, ça me rendrait bien service.
Merci d'avance pour vos réponses.
Mickaël
A voir également:
- Sed "s/.*\([0-9][0-9]*\).*/ resultat = \1/&qu
- Code ascii de 0 à 9 - Guide
- Remettre a 0 un pc - Guide
- Qualité de signal parabole 0 - Forum TNT / Satellite / Réception
- Numéro de téléphone excel 0 - Guide
- Puissance 85% et qualite 0% - Forum TNT / Satellite / Réception
3 réponses
Salut, il en faudrait unpeut plus pour trouver une expression réguliére qui match bien ce que tu souhaites
Y a t-il toujours qu'un seul nombre par chaine ?
est-ce que le caractére précédent le nombre est identifiable dans tout les cas (espace ?) idem pour la fin
ceci fonctionne, dans le cas donné, mais par forcément dans tout les cas que tu auras.
Y a t-il toujours qu'un seul nombre par chaine ?
est-ce que le caractére précédent le nombre est identifiable dans tout les cas (espace ?) idem pour la fin
ceci fonctionne, dans le cas donné, mais par forcément dans tout les cas que tu auras.
sed 's/.*[^0-9]\([0-9]\+\).*$/ resultat = \1/'ce qui précéde ton nombre (directement sans espace) ne peut etre numérique [^0-9]