grepへのパイプ出力

grepへのパイプ出力

私のBashスクリプトには次の行があります。

./tg/tg -c $THIS_DIR/tg/config 2>&1 | grep ".\+"

しかし、これはうまくいきません。tg実行中で、継続的に出力を生成します(つまり、終了しません)。一部の結果をフィルタリングしたいのですが、汎用".\+"モードを使用しても機能しません。また、削除すると| grep ".\+"出力が得られると確信しています。どのように動作させることができますか?

答え1

「の場合grep"継続入力中 ---line-bufferedオプションの使用:

./tg/tg -c $THIS_DIR/tg/config 2>&1 | grep --line-buffered ".\+"

--line-buffered
出力時にラインバッファリングを使用します。これによりパフォーマンスが低下する可能性があります。

関連情報