Como usar grep ou sed para extrair várias correspondências na mesma linha

0

Eu tenho um arquivo que, entre outras coisas, tem texto assim:

<TR><TD>5</TD><TD>Ukraine</TD></TR>
<TR><TD>3</TD><TD>Vietnam</TD></TR>
<TR><TD>3</TD><TD>Taiwan</TD></TR>
<TR><TD>3</TD><TD>Netherlands</TD></TR>
<TR><TD>3</TD><TD>South Korea</TD></TR>
<TR><TD>3</TD><TD>Great Britain</TD></TR>

Eu quero extrair apenas as informações entre os elementos <TD> :

5 Ukraine
3 Vietnam
3 Taiwan
3 Netherlands
... 
    
por mariahm24 09.12.2016 / 05:17

1 resposta

4

verifique isso

$awk -F"[>|<]" '{print $5,$9}' input.txt
5 Ukraine
3 Vietnam
3 Taiwan
3 Netherlands
3 South Korea
3 Great Britain

usando sed commnad

$ sed "s#<TR><TD>\(.\)</TD><TD>\(.*\)</TD></TR># #" input.txt
5 Ukraine
3 Vietnam
3 Taiwan
3 Netherlands
3 South Korea
3 Great Britain
    
por 09.12.2016 / 05:53