【问题标题】:Extracting text with script使用脚本提取文本
【发布时间】:2014-03-11 09:38:23
【问题描述】:

我们有一个如下格式的xml文件:

<mailBox>
...
</mailBox>
<mailBox>demon</mailBox>
<tz>16385</tz>
<Contact>
....
</Contact>
</mailBox>
<mailBox>
...
</mailBox>

有没有办法使用 sed/awk/grep 单线从此 xml 中提取特定节点?
我正在寻找某种格式的东西

`sed -n 'mailBox\>demon,......p`

【问题讨论】:

标签: linux shell sed awk


【解决方案1】:

你可以试试:

perl -0777 -nE 'foreach (/<mailBox>(.*?)<\/mailBox>/sg) {say $_}' file

【讨论】:

    【解决方案2】:

    在您的示例中,标签恶魔位于同一行,而不是文件的其余部分。错误或具体

    如果是错误(所以邮箱标签在不同的行)

    sed -n '1h;1!H;${x
    s/.*\(<mailBox>demon.*\)/\1/;s|</mailBox>.*||;p
    }' YourFile
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 2018-06-14
      • 2016-06-03
      相关资源
      最近更新 更多