http://bbs.chinaunix.net/thread-1095236-1-1.html
我想从xml文件中匹配需要的数据:
<A>111111</A>
<B>1</B>
<C></C>
<d>
<A>22222</A>
<E>33</E>
</d>
<F>99</F>
我的目的是想找出<d> </d>之间<A></A>之间的数值22222;
现在我用的方法是先匹配出<d> </d>之间的内容:
INFO=`sed -n -e '/ <d>/,/<\/d>/p' $XMLFILE`
然后再在结果中匹配出<A> </A>之间的值;
AA=`echo $INFO | sed -n 's/.*<A>\(.*\)<\/A>.*/\1/p'`
这样得到<d> </d>之间<A></A>之间的数值22222;
sed -n '/<d>/,/<\/d>/{/<A>/s/.*<A>\(.*\)<\/A>/\1/p}'
http://bbs.csdn.net/topics/340192621