tailコマンドで複数条件で絞り込んでリアルタイム表示

NGパターン

# リアルタイムで表示されない
tail -f  /var/log/test.log | grep "ほげ" | grep "hoge"

# 1つの条件ならいけるんだけど。。。
tail -f  /var/log/test.log | grep "ほげ"
  • grepが出力をバッファしてしまい。リアルタイムで表示できない

OKパターン

# 複数条件リアルタイム表示
tail -f  /var/log/test.log | grep --line-buffered "ほげ" | grep --line-buffered "hoge"

  • grep の –line-buffered オプションは、出力がバッファせずにリアルタイム表示ができるみたい。
  • –line-buffered は、1行単位で出力するというオプションです。

おまけ

#除外パターンとの組み合わせ
tail -f  /var/log/test.log | grep --line-buffered "ほげ" | grep -v --line-buffered "除外ワード"