通过管道输出到 grep

通过管道输出到 grep

我的 bash 脚本中有这一行:

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

但这不起作用。tg正在运行并连续产生输出(意味着不会终止),我只想过滤一些结果,但即使我使用通用".\+"模式,它也不起作用。我也确信删除时| grep ".\+"我会得到输出。我怎样才能让它发挥作用?

答案1

的情况下 ”格雷普“虽然连续输入 - 使用--line-buffered选项:

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

--line-buffered
在输出上使用行缓冲。这可能会导致性能损失。

相关内容