こんな感じで、grep するとマッチするはずのaaaaがなぜか何も表示されません。
$ cat hoge.txt aaaa bbbb $ tail -f hoge.txt | grep aaa | grep aaa
実は2番目のgrepが悪さしているようで、性能低下を招かないように2番目のgrepがバッファリングし、ある程度溜まってから3番目のgrepに結果を渡しているようです。
バッファリングは、--line-buffered オプションを使うと無効にできます。
$ tail -f hoge.txt | grep --line-buffered aaa | grep aaa aaaa
はい。表示されましたね。
標準出力にはすぐに出力されるのに、同じコマンドをファイルへリダイレクトすると書き込まれず困っていました。
ありがとうございました。
mazn
が
しました