小编Mat*_*ing的帖子

sed 在管道传输时无法正常工作

由于某种原因,当将 SSH 的命令输出通过管道传输到 sed 时,我不会有实时输出:

ssh someuser@somehost 2>&1 | sed -e "s/\[32//g" | tee logging
Run Code Online (Sandbox Code Playgroud)

我怀疑输出 dit 没有换行符,但是当我删除 sed 命令并运行时:

wc -l logging
Run Code Online (Sandbox Code Playgroud)

它返回 6,这是正确的返回数。有人知道我在这里缺少什么吗?

[编辑]我完全忘记提及以下内容:运行

ssh someuser@somehost 2>&1 | sed -e "s/\[32//g"
Run Code Online (Sandbox Code Playgroud)

返回所有值没有问题,但是,一旦我将 tee 添加到混合中,我将无法获得输出,直到我点击 ^C...甚至标准输出重定向都不起作用(ssh someuser@somehost 2>&1 | sed -e “s/[32//g”> 文件)。只需 ssh 和 tee 也可以正常工作。

pipe sed shell-script

4
推荐指数
1
解决办法
4318
查看次数

标签 统计

pipe ×1

sed ×1

shell-script ×1