私の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
出力時にラインバッファリングを使用します。これによりパフォーマンスが低下する可能性があります。