忘れたころにたまに戸惑う。ログをgrepしたものをパイプに通してさらにgrepすると、grepがバッファしてしまうのでリアルタイムに出力されなくなる。そんなときは--line-buffered をつけると良い。
--line-buffered 行ごとに出力を掃き出す
$ tail -f /var/log/httpd/access_log | grep --line-buffered "POST" | grep --line-buffered 'HTTP/1\.." 503'
※ この例ならgrep二回通さなくても正規表現をちゃんと書けばいいだけだけど。良い例が思いつかなかった。