Извлечь из файла первый блок последовательно совпадающих строк?

Я успешно использую ветку 1.8 HTMLDOC в течение многих лет. Я поместил его в коммерческую систему, которая с 2003 года сгенерировала сотни тысяч отчетов.

Он не супер -универсальный, но очень эффективный и надежный. Он ограничен базовым набором постскриптумных шрифтов.

Он не поддерживает CSS, вместо этого использует специальный набор директив комментариев HTML для управления специфическими аспектами PDF.

Исходный код не слишком сложен для чтения и редактирования, если вам нужно добавить пользовательские средства, если вы знакомы с C. Он скомпилирован с помощью GCC или Visual Studio, в зависимости от вашей целевой платформы.

Обратите внимание, что HTML не обязательно должен находиться в файле. Вы можете сгенерировать его динамически из URL-адреса, php или aspx и т. д. Вы также можете подключить его к своему веб-серверу для динамического создания файла PDF.

В моем случае он генерирует файл PDF из страницы asp, который затем прикрепляется к электронному письму, вместо отправки HTML на принтер и машину для заполнения писем; это своего рода диспетчер очереди печати.

0
12.09.2021, 14:19
1 ответ

Изд. GNU. Без пробелов в конце:

sed '/^#/,$!d;:1;/^\s*$/N;/\S/!b1;/^#/M!Q' file

/^#/,$!d-Обрезать строки перед началом комментариев.
:1;/^\s*$/N;/\S/!b1-Если есть пустые строки или только пробелы, добавьте в буфер (шаблонное пространство ).
/^#/M!Q'-если встречается строка, которая не начинается с комментария, выходим из сценария.(M-Якоря будут действительны в многострочном буфере ).

С пробелами в конце:

sed '/^#/,$!d;/^#\|^\s*$/!Q' file
1
13.09.2021, 06:32

Теги

Похожие вопросы