用于在xml标记之间提取字符串的Shell脚本

时间:2012-08-07 09:31:10

标签: xml string shell extract

请帮我解决xml标签之间的字符串问题。 xml输入:

    <Name ns1:translate="yes">Overview</Name>
    <Title ns1:translate="yes">This is a book</Title>
    <Description ns1:translate="yes"/>
    <TextValue ns1:translate="yes">End</TextValue>

预期产出:

    Overview = Overview
    This is a book = This is a book
       =
    End = End

2 个答案:

答案 0 :(得分:2)

如果您只想删除标签,可以这样做:

$ sed 's/<[^>]*>//g'

如果要重复标记中的文本,则需要以下内容:

$ sed 's/.*>\([^<]*\)<.*/\1 = \1/g'

答案 1 :(得分:2)

一个建议: 请使用PERL进行XML读取/提取。 PERL有许多模块XML解析模块[都是SAX / DOM]。

甚至Python也是XML解析的最佳选择。