我有几个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>
元素的列表。但是我不知道如何为每个值标签执行此操作。怎么做?
xmllint 可能是您要查找的。
即
xmllint --xpath '//value' yourfile.xml | sed s/></>\n</g
会回来
<value>00</value>
<value>01</value>
此问题将为您提供一些有关使用--xpath
选项查询 xml 的指导,以xmllint
。