尾管grep管xmllint不工作

kod*_*nja 1 grep pipe tail xmllint

我正在尝试使下面的命令工作,但没有打印o/p:

tail -f mylog.log | grep --line-buffered -Eo '<S:Envelope .+Envelope>' | xmllint --format --recover -
Run Code Online (Sandbox Code Playgroud)

但是,如果我从文件中grep相同的模式,并将其传递给xmllint,它的工作原理如下:

grep --line-buffered -Eo '<S:Envelope .+Envelope>' tmp.xml | xmllint --format --recover -
Run Code Online (Sandbox Code Playgroud)

我在第一个命令中缺少什么?

fge*_*fge 6

你可以尝试这个(未经测试):

tail -f mylog.log | grep -Eo '<S:Envelope .+Envelope>' | while read line; do
    echo $line | xmllint --format --recover -
done
Run Code Online (Sandbox Code Playgroud)

(这是在xmllint没有找到EOF并因此仍在等待输入的假设下)