View previous topic :: View next topic |
Author |
Message |
RaX Apprentice
Joined: 16 Aug 2007 Posts: 166
|
Posted: Thu Jun 04, 2009 12:35 pm Post subject: [SHELL] tail -f + grep ? (résolu) |
|
|
Bonjour,
Je voulais savoir comment faire pour filtrer l'affiche d'un tail -f.
genre je fait:
# tail -f /var/log/messages
mais je voudrai n'avoir que les lignes contenant "sshd". Tout ça bien sûr actualisé en temps réel (d'ou le tail -f).
Merci.
Last edited by RaX on Fri Jun 05, 2009 12:03 pm; edited 1 time in total |
|
Back to top |
|
|
Link31 Apprentice
Joined: 17 Apr 2006 Posts: 200 Location: France
|
Posted: Thu Jun 04, 2009 1:01 pm Post subject: |
|
|
Code: | tail -f /var/log/messages | grep sshd |
|
|
Back to top |
|
|
razer l33t
Joined: 08 Oct 2004 Posts: 893 Location: Paris - France
|
Posted: Thu Jun 04, 2009 2:52 pm Post subject: |
|
|
la même sans tubes, car il parait que cépabien pour greper :
Code: | grep sshd $(tail -f /var/log/messages) |
|
|
Back to top |
|
|
RaX Apprentice
Joined: 16 Aug 2007 Posts: 166
|
Posted: Thu Jun 04, 2009 3:16 pm Post subject: |
|
|
Merci c'est ske j'av fait dans un script et ça marchait pas j'avais sensiblement la même chose que vous mais je c pas pk ça voulais pas.
Chui qu'une m...
Merci. |
|
Back to top |
|
|
RaX Apprentice
Joined: 16 Aug 2007 Posts: 166
|
Posted: Thu Jun 04, 2009 3:24 pm Post subject: |
|
|
En fait ça marche pas pour mon exemple quand me connect en ssh si je fait un "tail -f" je vois bien:
luna ~ # tail -f /var/log/messages
May 31 18:26:29 luna sshd[30417]: Accepted publickey for root from 192.168.0.1 port 40017 ssh2
May 31 18:26:29 luna sshd[30417]: pam_unix(sshd:session): session opened for user root by (uid=0)
Par contre:
luna ~ # grep sshd $(tail -f /var/log/messages)
n'affiche rien :s |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8717 Location: ~Brussels - Belgique
|
Posted: Thu Jun 04, 2009 6:57 pm Post subject: |
|
|
razer wrote: | la même sans tubes, car il parait que cépabien pour greper :
Code: | grep sshd $(tail -f /var/log/messages) |
|
Et c'y t'y ferait pas un pipe dans notre dos (roh, c'est du bash...) _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
dapsaille Advocate
Joined: 02 Aug 2004 Posts: 2366 Location: Paris
|
Posted: Thu Jun 04, 2009 9:30 pm Post subject: |
|
|
XavierMiller le sauveur de chatons |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772
|
Posted: Thu Jun 04, 2009 10:06 pm Post subject: |
|
|
razer wrote: | la même sans tubes, car il parait que cépabien pour greper :
Code: | grep sshd $(tail -f /var/log/messages) |
|
Non, ça ne peut pas fonctionner, là tu donnes les messages comme si c'était des noms de fichiers à grepper avec ça, et ça ne sortirai un résultat que lorsque tail s'arrêterai, pour passer la main à grep ensuite. Et personne n'a dit que piper un grep était mal, faut juste le faire quand c'est approprié, ce qui est le cas ici, donc la proposition de Link31 est la bonne.
Le cas souvent critiqué de pipe inutile, c'est quand on fait un cat toto.txt|grep foobar, parce que là on peut donner le fichier à grepper peut être donné directement à grep (par contre ça gagne un intérêt de garder le cat s'il faut concaténer (ce qui est le but de catenate) plusieurs fichiers, même si en fait ya toujours le grep -H qui est utile dans ce cas ci, mais bref...). Et par contre ici dans le cas présent, ya un intérêt à piper le tail sur grep, parce que tail sort le contenu petit à petit, et grep fait son boulot au fur et à mesure en affichant directement le résultat. |
|
Back to top |
|
|
RaX Apprentice
Joined: 16 Aug 2007 Posts: 166
|
Posted: Fri Jun 05, 2009 12:04 pm Post subject: |
|
|
Merci a tous. Je m'excuse pour cette question un peu stupide, j'aurai vérifier la syntaxe du script je ne vous aurais pas embêter avec cette chose basique. |
|
Back to top |
|
|
|