shell多行匹配如何实现
生活随笔
收集整理的這篇文章主要介紹了
shell多行匹配如何实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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
?
總結
以上是生活随笔為你收集整理的shell多行匹配如何实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux egrep新添的正则表达式元
- 下一篇: Apache Camel Test Fr