como remover tags de comentário html usando sed?

2

Eu quero remover tags de comentários em um arquivo html.

<!--- <script save and execute me> -->

deve se tornar:

<script save and execute me>

Eu tentei

sed -i s_^<!-- \(.*\) -->$__ text.sed

mas isso falha porque o < e > são considerados caracteres de entrada / saída. Eu do que tentei:

sed -i 's_^<!-- \(.*\) -->$__' text.sed

mas que o \ 1 não é avaliado como deveria. Espero que alguém aqui tenha ideias?

    
por dr jerry 07.07.2011 / 19:50

1 resposta

2

Dado um arquivo, test.html, contendo:

<html>
<!--- <script save and execute me> -->
</html>

O comando:

sed -e "s/<!---* *<\(.*\)> *-->/<>/" test.html

emite:

<html>
<script save and execute me>
</html>

Esteja ciente de que isso também transformaria:

<html>
<!-- some info explaining why we have commented out the following -->
<!-- <hr> -->
<!--- <script save and execute me> -->
</html>

em:

<html>
<!-- some info explaining why we have commented out the following -->
<hr>
<script save and execute me>
</html>
    
por 07.07.2011 / 20:38

Tags