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

Langage Perl Discussion :

recuperer un fichier log en perl


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Avril 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1
    Par défaut recuperer un fichier log en perl
    Bonjour
    je suis un débutant en perl et je veux récupérer le contenue de fichier log de mrtg pour faire des tests sur la dernière colonne de ce fichier selon une valeur entrer par l'utilisateur
    le format de ce fichier et le suivant;

    1036567881 2313865839 3040227868
    1036567881 937 713 937 713
    1036567581 1561 229 1561 229
    1036567500 1831 240 2561 273
    1036567200 2473 643 2561 1647
    1036566900 2312 1305 2513 1647

    Merci pour votre aide

  2. #2
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Bonsoir. On dirait que personne n'a répondu sur ce coup-là...

    Si tu débutes en Perl, tu peux jeter un oeil à la FAQ pour voir comment ouvrir et parser un fichier. Et t'initier aux regex, si besoin est.

    Pour ce qui t'occupe, voilà un exemple (idiot) qui imprime la deuxième colonne si la dernière colonne est supérieure à 1000.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/usr/bin/perl
    use strict; use warnings;
     
    my $filename = 'path/to/file.log';
    open my $fh, '<', $filename
        or die "$!\n";
     
    while (<$fh>) {
        chomp;
        my @fields = split /\s+/;
        print $fields[0], "\n" if $fields[-1] < 1000;
    }
    Tu peux obtenir le même résultat avec un uniligne (en ligne de commande).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -F'\s+' -lane 'chomp; print $F[0] if $F[-1] < 1000' file.log

Discussions similaires

  1. organiser un fichier log avec perl
    Par medsup dans le forum Langage
    Réponses: 32
    Dernier message: 19/05/2011, 13h15
  2. Perl analyse de fichiers-logs
    Par finelady dans le forum Langage
    Réponses: 4
    Dernier message: 18/03/2008, 17h31
  3. gérer avec perl un fichier log en cours d'évolution
    Par wiss20000 dans le forum Langage
    Réponses: 9
    Dernier message: 22/08/2006, 11h24
  4. fichier log + perl
    Par wiss20000 dans le forum Apache
    Réponses: 1
    Dernier message: 14/08/2006, 13h01
  5. [langage] [PERL] prendre des infos dans un fichier log
    Par osiris73 dans le forum Langage
    Réponses: 2
    Dernier message: 24/05/2005, 16h42

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