Shell:从XML文件中提取特定块

时间:2013-12-07 09:37:25

标签: xml linux shell xml-parsing

我有一个带有相同标记的xml文件,连续多次出现。我只需要将那组标签作为数组提取。

xml文件如下所示:

...
<otherTags>
<myTag>
  <abc/>
</myTag>
<myTag>
  <abc/>
</myTag>
<myTag>
  <abc/>
</myTag>
<otherTags>
...

我的输出应该如下:

<myTag>
  <abc/>
</myTag>

<myTag>
  <abc/>
</myTag>

<myTag>
  <abc/>
</myTag>

1 个答案:

答案 0 :(得分:1)

如果格式很简单,请使用

$ awk '/<myTag>/,/<\/myTag>/' inputfile
<myTag>
  <abc/>
</myTag>
<myTag>
  <abc/>
</myTag>
<myTag>
  <abc/>
</myTag>

但是有一些工具可以解析复杂的XML文件,如果它变得更复杂,你应该使用它们。一个叫xml-grep。您可能还想熟悉XPath technology