计算标签的出现次数

时间:2017-11-28 13:40:03

标签: xml unix

我有一些XML文件,想要计算标记<para>出现的次数。

       <values>
          <fnstance>
            <value>00</value>
            <description>
              <para>Some text.</para>
            </description>
          </finstance>
          <finstance>
            <value>01</value>
            <description>
              <para>When this text</para>
            </description>
            <description>
              <para>Some other text for same value</para>
            </description>
          </finstance>
        </values>

我想找到标记<para>并为每个<value>标记计算它们。有没有办法在Unix中做到这一点?

我尝试了xml_grep 'finstance' ../../recent/*.xml | xargs | grep -o '<para>',它给了我一个给定文件中<para>个元素的列表。但我不知道如何为每个价值标签做到这一点。怎么做?

1 个答案:

答案 0 :(得分:0)

xmllint可能就是你要找的东西。

xmllint --xpath '//value' yourfile.xml | sed s/\>\</\>\\n\</g

将返回

<value>00</value>
<value>01</value>

This Question将为您提供有关使用--xpath的{​​{1}}选项查询xml的一些指导。