Это работает так — в командной строке набираем и получаем вывод:
sol@eee:~$ regtxt='[[:space:]]*\(.\+\b[[:punct:]]\?\)[[:space:]]*'
sol@eee:~$ rmtag='/<\/div>/!{N;b1};s/.*\(span>\)'$regtxt'<\/\1.*/\2/;s/.*">'$regtxt'<\/div>/\1/'
sol@eee:~$ sed -n '
> /<div class="form-header-title">/{:1;'$rmtag';h;}
> /<div class="form-user-name">/{:2;'${rmtag/b1/b2}';H;}
> /<div class="form-post-text[^>]*">/{:3;'${rmtag/b1/b3}';H;g;s/\n/;/;s/\n/;/p;s/;.*//;h;}
> ' sosorce.html
Кодекс поведения игрока ITF и ТЕ;Совет ЕКС;Здесь ЕКС планирует отвечать на вопросы по Кодексу поведения ученика. Хотя это не совсем епархия ЕКС, но на территории России проводится достаточно много международных турниров, которые обслуживают российские судьи в различных судейских должностях. В настоящее время между Кодексом поведения игрока РFA и кодексами международных организаций есть некоторые отличия, которые пытаются свести к минимуму. Такая работа продолжается.
Кодекс поведения игрока ITF и ТЕ;Совет ЕКС;Для удобства пользователей Совет ЕКС размещает действующий Кодекс поведения игрока 2006 года.
Кодекс поведения игрока ITF и ТЕ;Арт;Ещё бы и форму 13 подправить (с единым образцом заполнения)
Кодекс поведения игрока ITF и ТЕ;Совет ЕКС;<B>Арт,</B> это функция НП "РТТ", которую они никак не хотят передать в ЕКС. Обратитесь в ОУ ТРТТ.
sol@eee:~$
— в приведенном примере обрабатывается файл sosorce.html, это те данные, которые приведены в ответе № 30
А вот если указать *.html, как в примере Azure, то будут обработаны все html-файлы в текущем каталоге. Собственно, это то, что вам нужно. В отличие от моего скрипта, где нужно еще добавить небольшой кусочек, чтобы тоже обрабатывал все файлы.
sed — это программа, которая обрабатывает строки согласно заданным командам. В данном примере команды — это, например,
H;g;s/\n/;/;s/\n/;/p;s/;.*//;h; Строки — это то, что лежит в указанном файле sosorce.html или файлах *.html.