我们有一个以下格式的xml文件:
<mailBox>
...
</mailBox>
<mailBox>demon</mailBox>
<tz>16385</tz>
<Contact>
....
</Contact>
</mailBox>
<mailBox>
...
</mailBox>
有没有办法使用sed / awk / grep one-liner从这个xml中提取特定节点?
我正在寻找格式
`sed -n 'mailBox\>demon,......p`
答案 0 :(得分:0)
在您的示例中,标记恶魔位于同一行,而不是文件的其余部分。错误或具体
如果是错误(因此邮箱标签位于不同的行上)
sed -n '1h;1!H;${x
s/.*\(<mailBox>demon.*\)/\1/;s|</mailBox>.*||;p
}' YourFile
答案 1 :(得分:0)
你可以尝试:
perl -0777 -nE 'foreach (/<mailBox>(.*?)<\/mailBox>/sg) {say $_}' file