IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

extraire les chiffres d'une chaine en bash


Sujet :

Shell et commandes GNU

  1. #1
    Membre éclairé
    Profil pro
    Expert technique
    Inscrit en
    Septembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 328
    Par défaut extraire les chiffres d'une chaine en bash
    Bonjour,

    je me rend fou pour extraire les chiffres d'une chaine de caractère en bash.
    La chaine commence par "[Téléphone]" puis il y a du texte, puis des chiffres, puis du texte encore:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Téléphone]   bla bla bla        12.34.56        [Envoyer ces renseignements par mail...bla] bla bla
    J'essaie d'extraire le numéro en plein milieu qui est composé de 3 séquence de 2 chiffres séparées par un .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if [[ "$line" =~ '^.*.Téléphone.*.([0-9]{2}\.){3}.*.$' ]]
    then
          echo "---> ${BASH_REMATCH[1]}"
    fi
    et ça ne fonctionne pas. Pouvez-vous m'éclairer svp ?

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 640
    Par défaut
    Bonjour,

    ta regex n'est pas correcte (tu t'en doutais, non ? )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ var="[Téléphone]   bla bla bla        12.34.56        [Envoyer ces renseignements par mail...bla] bla bla"
    $ [[ $var =~ ^\[Téléphone.*(([0-9]{2}\.){2}[0-9]{2}).*$ ]] && echo "${BASH_REMATCH[1]}"
    12.34.56
    deux chiffres et un point deux fois, et, deux chiffres une fois.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre éclairé
    Profil pro
    Expert technique
    Inscrit en
    Septembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 328
    Par défaut
    Yessss, merciiii

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/04/2009, 14h38
  2. recuperer les chiffres dans une chaine
    Par grospatapouf dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 22/01/2009, 00h08
  3. [MySQL] extraire les chiffres d'une chaine
    Par megane dans le forum Langage SQL
    Réponses: 4
    Dernier message: 23/08/2006, 14h29
  4. [Tableaux] Extraire les chiffres dans une chaîne
    Par Digiduck dans le forum Langage
    Réponses: 8
    Dernier message: 16/08/2006, 14h33
  5. Extraire les mots d'une chaine
    Par hsouna dans le forum C++
    Réponses: 2
    Dernier message: 26/06/2006, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo