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)
我在第一个命令中缺少什么?
你可以尝试这个(未经测试):
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并因此仍在等待输入的假设下)