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 ligne dans fichier de log


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Points : 330
    Points
    330
    Par défaut Filtrer ligne dans fichier de log
    Bonjour,

    J'ai des fichiers de log de base de donnees (postgresql par exemple) avec hum beaucoup de ligne (c'est normal on a mis un niveau de log assez important pour pouvoir generer des stats)

    Le probleme c'est que du coup la je vois plus passer les lignes avec des erreurs sql ou des warning par exemple.

    J'aurais aime savoir si il etait possible de ne faire afficher a l'ecran que les lignes commencant par warning ou erreur par exemple. (en utilisant vi ou autre chose si vous avez mieux).

    d'avance un grand merci

  2. #2
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Le grep ci-dessous affiche les lignes commençant par warning ou erreur :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -e "^(warning|erreur)" fichier.log

  3. #3
    Membre éclairé Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Points : 823
    Points
    823
    Par défaut
    Bonjour,

    J'ai testé chez moi ($BASH_VERSION: 3.2.33(1)-release), la commande ne fonctionne pas et je ne vois pas pourquoi. Par contre celle-ci marche bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    egrep "^(warning|erreur)" fichier.log

  4. #4
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Points : 330
    Points
    330
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep "FATAL"  postgresql-2009-09-16_101113.log
    Fonctionne.

    Merci avec beauoucp de retard

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2009
    Messages : 10
    Points : 15
    Points
    15
    Par défaut
    Attention à ne pas confondre :

    et
    (ou "egrep" qui est la même chose; cf man egrep/grep)

    Le premier sert pour les expression régulières tandis que les deux autres sont utilisés avec les expression régulières étendues.

    C' est le genre de détails qu'il faut bien mémoriser pour ne pas se planter...comme moi

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2009
    Messages : 10
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par BlaireauOne Voir le message
    Le grep ci-dessous affiche les lignes commençant par warning ou erreur :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -e "^(warning|erreur)" fichier.log

    Chez moi ceci ne fonctionne pas (bash3.2.48(1))...
    Est-tu sûr qu'il ne s' agit pas plutôt de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -E "^(warning|erreur)" fichier.log
    ?

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

Discussions similaires

  1. [Librairies] Inserer lignes dans fichier RTF
    Par tit_oune dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 04/05/2012, 11h21
  2. ecrire a la ligne dans fichier texte.
    Par zulot dans le forum Langage
    Réponses: 7
    Dernier message: 12/09/2006, 13h02
  3. Réponses: 3
    Dernier message: 16/08/2006, 18h32
  4. prb retour a la ligne dans fichier txt telecharge avec php
    Par supersonicblonde dans le forum Langage
    Réponses: 3
    Dernier message: 08/06/2006, 15h20
  5. [Unix KSH] Ajout caractère fin de ligne dans fichier
    Par -COil- dans le forum Autres langages
    Réponses: 1
    Dernier message: 04/05/2006, 17h06

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