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 :

Filtrer le contenu d'un fichier log


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Par défaut Filtrer le contenu d'un fichier log
    Bonjour a tous,

    Voila j'ai un fichier log qui se nomme toto.log. Dans ce fichier j'ai:
    toto le 1 janvier 2016
    3 pains
    5 bonbons

    toto le 1 fevrier 2016
    7 pains
    2 bonbons

    toto le 1 mars 2016
    8 pains
    3 orange

    toto le 1 avril 2016
    1 pains
    3 bonbons
    Objectif:

    Pouvoir récupérer dans un fichier résultat, tous les bonbons que toto a acheté par mois.

    Ce que j'ai fait, mais sans succès bien sur:

    Création du fichier filtre-toto.txt et dans ce fichier j'ai toto et bonbons.

    je lance:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fgrep -f filtre-toto.txt toto.log
    objectif non atteint
    j'ai essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -E '(toto|bonbons)' toto.log
    objectif non atteint

    Avant que toto me ruine
    Je vous sollicite, pour votre aide

    Vous en remerciant par avance,

    Yum57

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 417
    Par défaut
    Bonjour,

    Avant de coder quoi que ce soit, une question:
    Comment déterminer le début et la fin d'un paragraphe dans ton fichier, sachant qu'un paragraphe représente un mois ou potentiellement toto à un certain nombre de bonbons (toto et/ou bonbon pouvant ne pas être présent dans le dit paragraphe mensuel) ?

  3. #3
    Membre régulier
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Par défaut
    Bonjour disedorgue et merci par avance de ton aide.

    Pour répondre à ta question, "c'est fait a la main" soory

    Le résultat attendus est:

    toto le 1 janvier 2016
    5 bonbons

    toto le 1 fevrier 2016
    2 bonbons

    toto le 1 avril 2016
    3 bonbons

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 417
    Par défaut
    Je me doute que le résultat attendu est ce que tu donnes, ce qui m’intéresse, c'est comment on détermine les lignes qui font partie du même mois ?

  5. #5
    Membre régulier
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Par défaut
    J'en n'ai aucune idée disedorgue,

    C'est pour cela que je demande de l'aide

    Si on numérote les lignes ça peux servir de tag ?

    Yum

  6. #6
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 417
    Par défaut
    Ok,

    Voici une méthode possible avec awk qui fonctionne sur ton fichier exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '/toto/ {toto=1;bonbon=0;X=$0};/bonbon/ {bonbon=1};toto && bonbon {toto=0;print X"\n"$0"\n"}' toto.log

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

Discussions similaires

  1. Trier par ordre chronologique le contenu d'un fichier log
    Par Schum25 dans le forum Général Python
    Réponses: 9
    Dernier message: 06/06/2012, 12h15
  2. filtrer sons reseaux avec un fichier log
    Par newsuser dans le forum Réseau/Web
    Réponses: 0
    Dernier message: 28/11/2011, 02h17
  3. Filtrer les lignes d'un fichier log.
    Par nioniousa dans le forum Développement de jobs
    Réponses: 8
    Dernier message: 27/03/2010, 01h51
  4. [IFRAME] afficher le contenu d'un fichier .log
    Par kururin dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 27/10/2009, 13h32
  5. filtrer le contenu d'un fichier texte
    Par darkwall_37 dans le forum Windows
    Réponses: 3
    Dernier message: 13/11/2007, 02h28

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