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 habitué
    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
    Points : 159
    Points
    159
    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 584
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 584
    Points : 19 461
    Points
    19 461
    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.

  3. #3
    Membre habitué
    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
    Points : 159
    Points
    159
    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