22

Log Files で例外が発生した場合に備えて、サウンドを鳴らしたい。

私はbashスクリプトを使用しています。

残念ながら、tail を sed と組み合わせて使用​​すると機能しません。

以下のコマンドを試して、ここに投稿しました。

tail -f mylogs.log | grep "Exception" | sed -e $'s/Exception/Exception\a/'



tail -f mylogs.log  | sed -e $'s/Exception/Exception\a/'



tail -f mylogs.log  | grep "Exception" | sed -e $'s/Exception/Exception\a/'
4

1 に答える 1

35

問題は、grepそれが端末に書き込んでいないことを認識しているため、出力をバッファリングし、最終的にsedすべてを一度に処理できる大きなチャンクを書き出すことです。行が利用可能になったらすぐに印刷するように指示するには、次の--line-bufferedオプションを使用します。

tail -f mylogs.log \
  | grep --line-buffered Exception \
  | sed -u -e $'s/Exception/Exception\a/'

-u(フラグも に追加したことに注意してください。これはのオプションsedに似ています。私のテストでは、このコマンドに違いはないように見えましたが、念のために含めたほうがよいと思います。)grep--line-buffered

于 2013-03-10T18:09:25.273 に答える