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

Linux Discussion :

Problème de regexp


Sujet :

Linux

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Par défaut Problème de regexp
    Bonjour à tous !

    J'ai un petit souci en regexp, voici pour l'instant ce que j'ai:

    qui permet de matcher quelquechose du type:

    Le problème c'est que j'aimerai matcher seulement quelquechose du type:

    Pouvez vous me donner un petit coup de main ?

    Merci à tous !
    RedVivi

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    ^... .. [0-9]{2}:[0-9]{2}:[0-9]{2}
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    ^... .. [0-9]{2}:[0-9]{2}:[0-9]{2}
    Je crains m'être mal fait comprendre.....mea culpa. Je voudrais matcher par exemple tout ce qui est de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mois jour 06:25:secondes

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Sans plus d'information il va être difficile de répondre.
    • Avec quel outil ? grep, sed, perl... n'utilisent pas les même regexp
    • Quelle forme peut prendre "mois" ? C'est le nom complet du mois, ou ses trois premières lettres, ou autre chose ? Toujours en anglais ? Toujours en minuscules capitalisées ?
    • Quelle forme peut prendre "jour" ? Toujours deux chiffres (03) ou parfois un seul (3) ?

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Par défaut
    Citation Envoyé par matafan Voir le message
    Sans plus d'information il va être difficile de répondre.
    • Avec quel outil ? grep, sed, perl... n'utilisent pas les même regexp
    • Quelle forme peut prendre "mois" ? C'est le nom complet du mois, ou ses trois premières lettres, ou autre chose ? Toujours en anglais ? Toujours en minuscules capitalisées ?
    • Quelle forme peut prendre "jour" ? Toujours deux chiffres (03) ou parfois un seul (3) ?
    L'outil utilisé est grep, la forme des mois et jour est celle utilisée dans mon premier post et ne change pas.

    Merci d'avance !

  6. #6
    Membre émérite
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Par défaut
    Vu que tu utilises \w on suppose que tu utilise -E:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    grep -E -o "^\w{3} \w{2} 06:25:[0-9]{2}"
    et plus "simple" (mais moins strict):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    grep -E -o "^\w+ \w+ 06:25:[0-9]+"

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Par défaut
    ça fonctionne ! merci à tous !!

  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Par défaut
    Je me permets de réouvrir ce post car ça ne fonctionne plus comme prévu, la regexp ne match pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Jun  7 06:25:43 Inet-Primaire monit[3413]: '.apache2_restarted' timestamp was changed for /etc/monit/.apache2_restarted
    Pourtant la regexp me parait bonne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^\w{3} \w{2} 06:2[5-6]{1}:[0-9]{2} [._[:alnum:]-]+ monit\[[0-9]+\]: '.apache2_restarted' timestamp was changed for /etc/monit/.apache2_restarted$
    Voyez vous où est le problème ?

    Merci à tous !
    RedVivi

  9. #9
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Il y a deux espaces après "Jun" et tu n'en attends qu'un.

  10. #10
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Par défaut
    Citation Envoyé par matafan Voir le message
    Il y a deux espaces après "Jun" et tu n'en attends qu'un.
    Merci pour le tuyau ! Cependant j'ai fais le modif et ça ne fonctionne toujours pas (j'évalue avec egrep -f)


    EDIT: En fait j'ai compris, j'utilise \w2 car j'ai développé ce script quand le jour du mois avait 2 chiffres mais il est possible que la date ne soit composé que d'un seul caractère ! Comment je peux faire pour ce qu'il prenne 1 ou 2 caractères numériques pour la date ?

    Merci à tous !

  11. #11
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515

Discussions similaires

  1. URL Rewriting problème de regexp ?
    Par pierrickg dans le forum Apache
    Réponses: 2
    Dernier message: 10/07/2007, 13h35
  2. Un petit problème de regExp
    Par guidav dans le forum VBA Access
    Réponses: 4
    Dernier message: 31/05/2007, 17h36
  3. Probléme de regexp
    Par moook dans le forum Langage
    Réponses: 4
    Dernier message: 17/04/2007, 11h17
  4. Problème de regexp
    Par vodevil dans le forum Langage
    Réponses: 1
    Dernier message: 08/12/2006, 21h28
  5. Gros problème avec regexp
    Par dmbsys dans le forum ASP
    Réponses: 6
    Dernier message: 29/04/2006, 16h23

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