Supprimer les messages tronqués lorsque vous utilisez la queue

Je trace un file journal en utilisant la tail -f messages.log et cela fait partie de la sortie:

 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eget tellus sit amet odio porttitor rhoncus. Donec consequat diam sit amet tellus viverra pellentesque. tail: messages.log: file truncated Suspendisse at risus id neque pharetra finibus in facilisis ipsum. 

Il affiche tail: messages.log: file truncated lorsque le file est tronqué automatiquement et c'est censé se produire, mais je veux juste que la tail me montre la sortie sans ce message tronqué.

J'ai essayé d'utiliser tail -f messages.log | grep -v truncated tail -f messages.log | grep -v truncated mais il me montre le message de toute façon.

Y a-t-il une méthode pour supprimer ce message?

Ce message est sorti sur stderr comme tous les messages d'avertissement et d'erreur.

Vous pouvez soit supprimer toutes les sorties d'erreur:

 tail -f file 2> /dev/null 

Ou pour filterr uniquement les messages d'erreur contenant truncate :

 (tail -f file 2>&1 >&3 3>&- | grep -v truncated >&2 3>&-) 3>&1 

Ou avec zsh ou bash :

 tail -f file 2> >(grep -v truncated >&2) 

Si grep ne se débarrasse pas de la sortie, il est probablement imprimé sur une erreur standard. Le moyen le plus simple de se débarrasser de cela est simplement de le vider:

 tail -f messages.log 2>/dev/null 

Peut-être aider si peut être l'origine des corrections de cette erreur. C'est arrivé parce que quelque chose écrit dans un file avec écrasement ">" pas avec append ">>".