Практическое задание

Эта задача — шаг 14 курса «sed: потоковый редактор»

sed: текстовая версия письма

средне~5 мин

Для рассылки нужна текстовая версия HTML-письма /root/mail.html. Удали все теги — <…>, в том числе с атрибутами вроде <a href="…">, — оставив текст между ними как есть. Результат — в /root/mail.txt.

Что потренируешь:
  • sed -E
  • отрицаемый класс
  • жадность квантификаторов
  • флаг g

Разбор темы

.* жаден: он захватывает максимум, поэтому <.*> растянется от первого < до последнего > в строке и унесёт текст между тегами. Регулярки sed не знают «ленивых» квантификаторов, и стандартный приём — описать содержимое тега отрицаемым классом [^>]*: такой шаблон физически не может перешагнуть через > и заканчивается на ближайшей закрывающей скобке. Атрибуты, кавычки и / внутри тега ему не мешают.

Что проверяется

  1. теги удалены
  2. текст письма сохранён

Как это выглядит