2

Я хочу удалить теги комментариев в HTML-файл.

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

должен стать:

<script save and execute me>

Я старался

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

но это не помогает, потому что <и> считаются прочитанными символами ввода / вывода. Я чем пытался

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

но чем \1 не оценивается как следует. Надеюсь, у кого-нибудь здесь есть идеи?

1 ответ1

2

Имеется файл test.html, содержащий:

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

Команда:

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

выделяет:

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

Имейте в виду, что это также трансформирует:

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

в:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .