Salut à tous,
J'ai un programme qui se lance dans un terminal et qui affiche une très grosse quantité de traces parmis lesquelles une infime partie m'intéresse. Je souhaiterais donc afficher seulement celles ci et du coup j'ai esssayé tout simplement la commande suivante pour lancer mon prog :
mon_programme | grep "mot_cle"
"mot_cle" me permet de distinguer mes traces. Cette manière de faire fonctionne mais il y a une sorte de bufferisation, je n'ai pas l'affichage en temps réel : au bout d'un certain temps les traces intérressantes s'affichent d'un coup par bloc d'une dizaine de ligne mais pas au fur et à mesure alors que je souhaiterai vraiment un filtrage temps reel de la sortie.
J'ai essayé l'option --line-buffered de grep mais ça ne change rien, il semble pourtant qu'il y ait une bufferisation quelque part qui fait un "flush" trop tard.
Quelqu'un sait-il comment éviter ça? Ou bien ya t-il une autre méthode que je ne connais que je pourrais utiliser pour filtrer en temps reel ma sortie stdout?
Merci d'avance.
Partager