Awk seleciona colunas entre os dados da tabela html

1

Estou tentando extrair dados entre

<td></td>

tags, mas se eu usar algo como

awk -F"<td>" {' $1 ":" $2 '}

ele produzirá os dados html restantes depois da coluna 1 e da coluna 2, como eu posso extrair entre os dois e apenas extrair os dados / string auto?

    
por guest 15.07.2018 / 00:46

1 resposta

2

Isso faz o que você quer:

$ awk -F'</*td>' '$2{print $2}' someFile

Isso funciona definindo um argumento de divisão que corresponde ao início <td> , bem como a finalização </td> . Isso isola a string no meio como campo $2 . O restante imprimirá $2 , se estiver definido.

Exemplo

$ cat someFile
!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
   <HEAD>
      <TITLE>
         A Small Hello
      </TITLE>
   </HEAD>
<BODY>
   <table><td>hello world</td></table>
   <table><td>hello world</td></table>
   <table><td>hello world</td></table>
   <table>
   <td>hello world</td>
   </table>
   <H1>Hi</H1>
   <P>This is very minimal "hello world" HTML document.</P>
</BODY>
</HTML>

Saída:

$ awk -F'</*td>' '$2{print $2}' someFile
hello world
hello world
hello world
hello world

Referências

por 15.07.2018 / 00:59