小编P J*_*nes的帖子

如何使用 sed 来操作连续流输出?

我正在为非技术观众准备一个演示文稿。我有一个在 bash 中运行的程序,它输出连续的值流,其中一些很重要。我想强调显示的重要结果,以便观众可以了解它们的频率。问题是我无法sed对正在运行的流进行操作。如果我将结果放在一个文件中,它工作正常,如下所示:

cat output.txt | sed "s/some text/some text bolded/"
Run Code Online (Sandbox Code Playgroud)

但是如果我在运行输出上尝试同样的事情,就像这样:

command | sed "s/some text/some text bolded/"
Run Code Online (Sandbox Code Playgroud)

sed什么也没做。有什么想法吗?

正如兰伯特所指出的那样,我所说的sed无所作为是含糊的。正在发生的事情是程序输出到stdout(我很确定它没有写入到stderr),就像往常一样,即使它是通过管道传输的sed

问题似乎是该命令调用了第二个程序,然后该程序输出到 stdout。第一个程序打印了几行;这些我可以编辑。然后是第二个程序打印的值流;这些我无法编​​辑。

Perl 和 awk 方法也不起作用。

pipe sed text-processing streams

18
推荐指数
2
解决办法
1万
查看次数

标签 统计

pipe ×1

sed ×1

streams ×1

text-processing ×1