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 :

un grep dans un sed?


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 11
    Par défaut un grep dans un sed?
    Bonjour tout le monde
    Complétement débutant en shell, on me demande de parser un fichier de log.
    Je souhaite récupérer les lignes contenant la valeur "failed".
    avec "sed -n '/Failed/p' fichier.log" ca marche.
    Puis pour toutes ces lignes récupérer les digit entre crochets, ici 3050 et 3080.
    et enfin afficher toutes les lignes contenant ces digit.

    Ca ferai en yahourt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for each sed "failed" do grep []=var|sed var >out.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    *******Soit en entrée:
    Mar 28 21:53:50 ns37799 sshd[3050]: Connection from 2.2.2.2 port 16702
    Mar 28 21:53:54 ns12345 sshd[3050]: Failed none for root from 1.1.1.1 port 16702 ssh2
    Mar 28 21:54:01 ns12345 CRON[3058]: pam_unix(cron:session): session opened for user root by (uid=0)
    Mar 28 21:54:02 ns12345 CRON[3058]: pam_unix(cron:session): session closed for user root
    Mar 28 22:53:50 ns37799 sshd[3080]: Connection from 2.2.2.2 port 16702
    Mar 28 22:53:54 ns12345 sshd[3080]: Failed none for root from 1.1.1.1 port 16702 ssh2
     
     
    *******Et en sortie:
    Mar 28 21:53:50 ns37799 sshd[3050]: Connection from 2.2.2.2 port 16702
    Mar 28 21:53:54 ns12345 sshd[3050]: Failed none for root from 1.1.1.1 port 16702 ssh2
    Mar 28 22:53:50 ns37799 sshd[3080]: Connection from 2.2.2.2 port 16702
    Mar 28 22:53:54 ns12345 sshd[3080]: Failed none for root from 1.1.1.1 port 16702 ssh2
    Je vous remercie par avance, toute aide est la bienvenue.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $ cat plop 
    Mar 28 21:53:50 ns37799 sshd[3050]: Connection from 2.2.2.2 port 16702
    Mar 28 21:53:54 ns12345 sshd[3050]: Failed none for root from 1.1.1.1 port 16702 ssh2
    Mar 28 21:54:01 ns12345 CRON[3058]: pam_unix(cron:session): session opened for user root by (uid=0)
    Mar 28 21:54:02 ns12345 CRON[3058]: pam_unix(cron:session): session closed for user root
    Mar 28 22:53:50 ns37799 sshd[3080]: Connection from 2.2.2.2 port 16702
    Mar 28 22:53:54 ns12345 sshd[3080]: Failed none for root from 1.1.1.1 port 16702 ssh2
     
    $ sed -n '/Connection/{N;/Failed/p}' plop 
    Mar 28 21:53:50 ns37799 sshd[3050]: Connection from 2.2.2.2 port 16702
    Mar 28 21:53:54 ns12345 sshd[3050]: Failed none for root from 1.1.1.1 port 16702 ssh2
    Mar 28 22:53:50 ns37799 sshd[3080]: Connection from 2.2.2.2 port 16702
    Mar 28 22:53:54 ns12345 sshd[3080]: Failed none for root from 1.1.1.1 port 16702 ssh2
     
    $

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 11
    Par défaut
    Merci beaucoup pour la rapidité, c'est quasi nickel, j'ai pas toujours connexion la ligne au dessus mais je vais inspirer.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Citation Envoyé par sumakali31 Voir le message
    j'ai pas toujours connection la ligne au dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ sed -n 'h;n;/Failed/{H;g;p}' plop 
    Mar 28 21:53:50 ns37799 sshd[3050]: Connection from 2.2.2.2 port 16702
    Mar 28 21:53:54 ns12345 sshd[3050]: Failed none for root from 1.1.1.1 port 16702 ssh2
    Mar 28 22:53:50 ns37799 sshd[3080]: Connection from 2.2.2.2 port 16702
    Mar 28 22:53:54 ns12345 sshd[3080]: Failed none for root from 1.1.1.1 port 16702 ssh2
     
    $

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

Discussions similaires

  1. Bash: récursivité entre grep / egrep et sed
    Par 2beornot2be dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 12/12/2011, 23h40
  2. recherche grep dans fichier.
    Par lostsoul dans le forum Administration système
    Réponses: 2
    Dernier message: 08/05/2011, 10h38
  3. Comment utiliser "grep" dans une boucle
    Par shell dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 04/06/2010, 00h17
  4. Script shell 2 test grep dans un if
    Par hoaivong dans le forum Linux
    Réponses: 4
    Dernier message: 13/11/2008, 20h46
  5. Commange Grep dans Awk
    Par lili_bzh dans le forum Linux
    Réponses: 1
    Dernier message: 10/01/2006, 11h49

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