Я бы отфильтровал файл с помощью tidy
, чтобы поместить каждый тег верхнего уровня в отдельную строку, и использовал бы что-то более подходящее для этого типа сценариев (например, Perl) для обработка разметки. sed
наиболее полезен, когда изменения очень простые.
Например, фрагмент с этой страницы (после фильтрации) будет выглядеть следующим образом (с помощью tidy -wrap 4096
, чтобы уменьшить количество переносимых строк):