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
?
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
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"