2017-11-28 10 views
0

私はいくつかのxmlファイルを持って、私は私が持っているしたいと思いますどのようなタグがカウントのoccurance - UNIX

 <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> 

を発生するどのように多くの時間を見つけたいタグや数を見つけることですそれぞれのタグのためのそれら。これをUNIX上で行う方法はありますか?

私はxml_grep 'finstance' ../../recent/*.xml | xargs | grep -o '<para>'を試しました。与えられたファイルの中のpara要素のリストを私に渡しました。しかし、私は各価値タグのためにそれを行う方法を知らない。誰かがこれを行う方法を知っていますか?

答えて

0

xmllintはおそらくあなたが探しているものです。

すなわち

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

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

This Questionxmllint--xpathオプションを使用してXMLを照会にあなたにいくつかのガイダンスを与える返します。