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 :

Recherche expression régulière


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 124
    Points : 52
    Points
    52
    Par défaut Recherche expression régulière
    Hello !
    Voilà, je recherche une expression reguiliere me permettant dans ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Jun 27 17:00:40 kwinf5104 me-filter_in_fr[4571]: X-me-spamrating: 0.002894  | UUID=20060627150007338.5274F3400150@kwinf0102.orange.fr
    de récupérer le Spamrating.


    sachant que varient :
    le jour
    l'heure
    le kwinfXXXX
    le chiffre entre []
    le UUID
    le truc derriere

    une idée sur comment faire ?

    Merci, je galere pas mal

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    va voir coté perl

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 124
    Points : 52
    Points
    52
    Par défaut
    voui, c'est ce à quoi je pensais :

    j'ai donc :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( $ligne =~ m/^... .. ..:..:.. mwinf\[.*\] me-filter_in_fr\[.*\]: X-me-spamrating: (\d.\d)/o )
    mais apparement, ça ne matche pas :/


    \[.*\] est bien pour 5104 par exemple ?

    de plus comment lui dire qu'apres ça, il n'y a que du texte pas interessant ?

    Merci

    PS : vive la FAQ j'ai trouvé des trucs pas mal dedans

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par Krispy
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( $ligne =~ m/^... .. ..:..:.. mwinf\[.*\] me-filter_in_fr\[.*\]: X-me-spamrating: (\d.\d)/o )
    Le point doit être échapé et il faut mettre un quantifieur pour le nombre de chiffre sinon il en cherche qu'un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ligne =~ /X-me-spamrating: (\d*\.\d*)/
    Je n'ai pas testé.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Si le nombre de colonnes ne change pas, pourquoi ne pas simplement utiliser awk?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'chaine' |  awk '{print $7}'

  6. #6
    Membre actif
    Avatar de vosaray
    Profil pro
    Architecte technique
    Inscrit en
    Mai 2004
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 217
    Points : 299
    Points
    299
    Par défaut
    Tu te prendrais pas moins la tete avec cut ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cut -f5 -d':' <ton_fichier>
    devrait faire l'affaire.

    Si tu veux vraiment utiliser perl, ce serait plutot un truc de ce gout la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    if ( $line =~ m/^(.*)([0-9]\:){3}(.*)\:(.*)\:(\s)\|(UUID\=)(.*)$/ )
    {
      print "Date $2:$:3:$4 Rating $4\n UUID=$6";
    }
    ...
    Ca te permetterait de recuperer les autres champs de ton fichier et de les traiter

    [ Resultat perl non garanti car pas testé ]

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

Discussions similaires

  1. recherche expression dans une table
    Par omelhor dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/08/2012, 15h05
  2. Recherche expression réguliere
    Par freetrax dans le forum Langage
    Réponses: 7
    Dernier message: 24/09/2007, 12h51
  3. Recherche expression régulière
    Par Dadou74 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 13/04/2007, 11h06
  4. [RegEx] Rechercher et remplacer plusieurs occurences avec expression
    Par nabab dans le forum Langage
    Réponses: 2
    Dernier message: 12/12/2005, 18h12
  5. Recherche la signification d'expressions en C
    Par sbadecoder dans le forum C
    Réponses: 16
    Dernier message: 20/08/2003, 08h35

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