Como remover td ou / td com sed?

0

Estou usando com sucesso:

s/^[[:space:]]*<[/]*tr.*>//

para alterar as linhas que começam com <tr> ou </tr> , removendo essas tags.

No entanto, quando tento usar

s/^[[:space:]]*<[/]*td.*>//

para remover <td> ou </td> s, ele remove apenas <td> s, não o </td> s

Saída atual:

${url_reset}</td>
</td>

open</td>
${url_3_step_minimal_foundation}</td>
</td>

assertVisible</td>
${css_zip_code}</td>
</td>
    
por Michael Durrant 15.09.2015 / 12:38

3 respostas

4

Você já tentou isso:

sed 's/<[/]*td.*>//' file_name
    
por 15.09.2015 / 13:00
0

Usando

s%</*td.*>%%

foi uma abordagem que também funcionou evitando evitar a necessidade de [\]

    
por 15.09.2015 / 13:34
0
sed 's#^[[:space:]]*</\{0,1\}td.*>##'

talvez mais seguro

sed 's#^[[:space:]]*</\{0,1\}td[^>]*>##'
  • uso de outro separador (evitando escape de / )
  • permitir no máximo 1 / após < antes de td
  • na versão segura, pare no primeiro > após td
por 15.09.2015 / 14:08

Tags