2015-01-21 2 views
-1

Я хочу извлечь строки из файла между <div class="AA"> и <div class="clear"></div>.awk показать строки между двумя совпадениями

regex с sed и grep также приветствуются.

Update

Вот часть моего огромного файла 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-two-patterns – qqibrow

+0

@Mortez предоставляет образец файла. –

ответ

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

Спасибо ... У меня есть несколько шаблонов в моем огромном файле xml ... Что я должен сделать для этого? – MLSC

+0

Что вам нужно сделать, это более подробно описать вашу проблему. Мой код будет работать для нескольких блоков, но он может не делать то, что вы хотите, поэтому ... что вы хотите, чтобы этот код еще не делал? – Amadan

+0

Проверьте обновление ... У меня есть много этого блока, а также некоторые дополнительные теги xml. Но я хочу только этот блок – MLSC

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