2015-01-21 65 views
-1

我想從文件中提取<div class="AA"> <div class="clear"></div>之間的行。awk顯示兩個匹配之間的行

正則表達式與sedgrep也是受歡迎的。

更新

這裏是我的巨大的XML文件的一部分:

RUBBISH 
RUBBISH 
. 
. 
. 
    <div class="span9"> 
      <div class="results-count">AAA</div> 
    <div class="AA"> 
     <div class="A"><a href="/TEST">BBB</a> 
     </div> 
     <div class="BB"><span>CCC</span><br/><a href="/TEST1" class="B">DDD</a> 
     <div></div><span>EEE</span><br/><img src="TEST2" title="C"/><a href="/TEST3" class="D">FFF</a>, 
    <a href="/TEST4" class="E">GGG</a> 
     <div class="clear"></div><a href="/TEST5" class="details">Details</a> 
     </div> 
     <pre>HHH</pre> 
     <div class="clear"></div> 
    . 
    . 
    . 
    <div class="span9"> 
      <div class="results-count">AAA</div> 
    <div class="AA"> 
     <div class="A"><a href="/TEST">BBB</a> 
     </div> 
     <div class="BB"><span>CCC</span><br/><a href="/TEST1" class="B">DDD</a> 
     <div></div><span>EEE</span><br/><img src="TEST2" title="C"/><a href="/TEST3" class="D">FFF</a>, 
    <a href="/TEST4" class="E">GGG</a> 
     <div class="clear"></div><a href="/TEST5" class="details">Details</a> 
     </div> 
     <pre>HHH</pre> 
     <div class="clear"></div> 


RUBBISH 
RUBBISH 


    <div class="span9"> 
      <div class="results-count">AAA</div> 
    <div class="AA"> 
     <div class="A"><a href="/TEST">BBB</a> 
     </div> 
     <div class="BB"><span>CCC</span><br/><a href="/TEST1" class="B">DDD</a> 
     <div></div><span>EEE</span><br/><img src="TEST2" title="C"/><a href="/TEST3" class="D">FFF</a>, 
    <a href="/TEST4" class="E">GGG</a> 
     <div class="clear"></div><a href="/TEST5" class="details">Details</a> 
     </div> 
     <pre>HHH</pre> 
     <div class="clear"></div> 
    . 
    . 
    . 
+0

您還可以檢查內容:HTTP: //stackoverflow.com/questions/12918292/g rep-access-multiple-lines-find-all-words-between-patterns – qqibrow 2015-01-21 05:32:02

+0

@Mortez提供了一個示例文件。 – 2015-01-21 05:34:59

回答

2
awk '/<div class="clear"><\/div>/{p=0} p{print} /<div class="results-count">/{p=1}' 
+0

謝謝......我在這個巨大的xml文件中有多個這種模式......我該怎麼做? – MLSC 2015-01-21 05:32:36

+0

你應該做的是更詳細地描述你的問題。我的代碼可以用於多個塊,但它可能不會做你想要的,所以...你想要這個代碼還沒有做什麼? – Amadan 2015-01-21 05:33:50

+0

請檢查更新...我有很多這個塊和一些額外的XML標籤。但我只想要這個塊 – MLSC 2015-01-21 05:37:21

1

通過grep的,

$ grep -ozP '(?s)(?:\n|^)\s*<div class="results-count">[^\n]*\n\K.*?(?=\n\s*<div class="clear"></div>)' file 
<div class="AA"> 
    <div class="A"><a href="/TEST">BBB</a> 
    </div> 
    <div class="BB"><span>CCC</span><br/><a href="/TEST1" class="B">DDD</a> 
    <div></div><span>EEE</span><br/><img src="TEST2" title="C"/><a href="/TEST3" class="D">FFF</a>, 
<a href="/TEST4" class="E">GGG</a> 

ReGex DEMO