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

Programmation et administration système Perl Discussion :

Extraction string depuis des lignes de logs


Sujet :

Programmation et administration système Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Extraction string depuis des lignes de logs
    Bonjour Mesdames, Messieurs,

    Je vous sollicite pour une petite aide :

    J'analyse des logs depuis une base de données, et j'extrais certaines données depuis ce type de message :

    2015-08-28 11:07:01|mailproxy13|postfix/smtps/smtpd[12167]: E95432403E0: client=dolizon.domaine.fr[10.117.1.18], sasl_method=PLAIN, sasl_username=sophie.dorn@domaine.fr

    J'utilise
    my $re_hostip=qr{(\d+\.\d+\.\d+\.\d+)]}; \\ recupère l'IP

    mais pour recuperer le host en rouge je n'arrive pas
    my $re_client=qr{client=(.*)[$};
    sa me donne : [
    et ceci
    my $re_client=qr{client=(.*)};
    sa me donne : dolizon.domaine.fr[/COLOR][10.117.1.18], sasl_method=PLAIN, sasl_username=sophie.dorn@domaine.fr

    Quelqu'un est en mesure de m'aider ?
    Merci,
    Bien cordialement.

    Bryan MAISANO

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bon enfaite j'ai trouvé une autre méthode :

    sur cette chaine j'ai fais un split :
    my $re_client=qr{client=(.*)};

    recupération de mon message depuis une requete sql :
    ($client) = ($ref->{'msg'} =~ /$re_client/);
    my @host = split ('\[', $client);
    print $host[0];



    Du coup sa fonctionne, mais si quelqu'un trouve avec la fonction qr{..} je suis intéressé .

    Merci en tout cas bonne journée.

    Bien cordialement.
    MAISANO Bryan

  3. #3
    Membre éprouvé Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Points : 1 050
    Points
    1 050
    Par défaut
    en fait ta première expression est presque correcte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $re_client=qr{client=(.*)[$};
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $re_client=qr{client=(.*)\[};
    le [ est un caractère spécial et doit être échappé
    le $ indique la fin de ligne, or ton expression est au milieu, donc ça ne trouvait rien
    Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro.
    Plus les choses changent, plus elles restent les mêmes

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Je te remercie beaucoup sa fait beaucoup plus propre dans le code.

    Bonne journée.
    A bientôt.


    Bien cordialement

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

Discussions similaires

  1. Supprimer des lignes Excel depuis Access
    Par mat75019 dans le forum Access
    Réponses: 18
    Dernier message: 10/07/2021, 07h23
  2. RegEx pour lire une string avec des lignes
    Par Bacube dans le forum VB.NET
    Réponses: 3
    Dernier message: 16/05/2012, 16h20
  3. [VBA-E] Extraire des lignes depuis plusieurs classeurs fermés
    Par stoof dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/05/2007, 12h26
  4. Snapshot log et ordre des lignes
    Par orafrance dans le forum Administration
    Réponses: 8
    Dernier message: 15/02/2007, 19h48
  5. Ajouter des lignes dans un fichier *.log
    Par Fred2209 dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/12/2006, 15h15

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