web-dev-qa-db-fra.com

Queue -f + grep?

Tail a les options suivantes:

-f      The -f option causes tail to not stop when end of file is reached, but rather to wait for additional data to be appended to the
             input.  The -f option is ignored if the standard input is a pipe, but not if it is a FIFO.

Je voudrais seulement grep pour something dans la sortie de queue.

tail -f <FILE> | grep <SOMETHING> 

Le problème est qu'il n'a exécuté grep qu'une seule fois et est terminé. Aucune autre sortie ne se produit. Comment puis-je faire fonctionner grep correctement avec le -f?

16
Sten Kin

Vous en trouverez un autre SO Question utile: Comment "grep" un flux continu?

Activez le mode de mise en mémoire tampon de ligne de grep.

tail -f file | grep --line-buffered my_pattern
42
Sunny Patel

S'il s'agit d'un fichier journal, il peut être tourné. Il cessera alors de fournir des données.
Cela ne s'arrêtera pas si le fichier est tourné.

tail --follow=name /var/log/syslog | grep "some data"
7
Jotne