.\" Man page for lexgrog .\" .\" Copyright (c) 2001 Colin Watson .\" .\" You may distribute under the terms of the GNU General Public .\" License as specified in the file COPYING that comes with the .\" man-db distribution. .pc "" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH LEXGROG 1 2021-02-08 2.9.4 "Утилиты просмотра справочных страниц" .SH НАЗВАНИЕ lexgrog \- анализирует заголовочную информацию справочных страниц .SH СИНТАКСИС \fBlexgrog\fP [\|\fB\-m\fP\||\|\fB\-c\fP\|] [\|\fB\-dfw?V\fP\|] [\|\fB\-E\fP \fIкодировка\fP\|] \fIфайл\fP \&.\|.\|. .SH ОПИСАНИЕ \fBlexgrog\fP — это реализация традиционной \(lqgroff guess\(rq утилиты с помощью \fBlex\fP. Она читает список файлов из командной строки, которые являются файлами исходников справочных страниц или уже отформированными (\(lqcat\(rq) страницами, и показывает их названия и описания, используемые \fBapropos\fP и \fBwhatis\fP, список предварительных фильтров обработки, требуемый man страницей перед тем как она будет передана \fBnroff\fP или \fBtroff\fP, или обеим программам. .PP Если входные данные неправильно отформатированы, \fBlexgrog\fP выведет \(lqparse failed\(rq; это может оказаться полезным для внешних программ, которым нужно проверять правильность написания man страниц. Если в качестве одного из имён файлов \fBlexgrog\fP передан символ \(lq\-\(rq, то данные будут читаться из стандартного входного потока; если любой входной файл сжат, то будет автоматически читаться его расжатая версия. .SH ПАРАМЕТРЫ .TP .if !'po4a'hide' .BR \-d ", " \-\-debug Показывать отладочную информацию. .TP .if !'po4a'hide' .BR \-m ", " \-\-man Анализировать входные данные как файлы исходников справочных страниц. Является действием по умолчанию, если не указан параметр \fB\-\-man\fP или \fB\-\-cat\fP. .TP .if !'po4a'hide' .BR \-c ", " \-\-cat Анализировать входные данные как уже отформатированные справочные страницы (\(lqcat страницы\(rq). \fB\-\-man\fP и \fB\-\-cat\fP не могут указываться одновременно. .TP .if !'po4a'hide' .BR \-w ", " \-\-whatis Показать название и описание из заголовка справочной страницы, используемого \fBapropos\fP и \fBwhatis\fP. Является действием по умолчанию, если не указан параметр \fB\-\-whatis\fP или \fB\-\-filters\fP. .TP .if !'po4a'hide' .BR \-f ", " \-\-filters Показать список фильтров, необходимых для предварительной обработки справочной страницы перед форматированием с помощью \fBnroff\fP или \fBtroff\fP. .TP \fB\-E\fP \fIкодировка\fP, \fB\-\-encoding\fP \fIкодировка\fP Использовать \fIкодировку\fP вместо предполагаемой кодировки символов страницы. .TP .if !'po4a'hide' .BR \-? ", " \-\-help Показать справочное сообщение и закончить работу. .TP .if !'po4a'hide' .B \-\-usage Показать короткое сообщение об использовании и завершить работу. .TP .if !'po4a'hide' .BR \-V ", " \-\-version Показать информацию о версии. .SH "КОД ВЫХОДА" .TP .if !'po4a'hide' .B 0 Успешное выполнение программы. .TP .if !'po4a'hide' .B 1 Ошибка использования. .TP .if !'po4a'hide' .B 2 \fBlexgrog\fP не удалось разобрать один или более входных файлов. .SH ПРИМЕРЫ .nf $ lexgrog man.1 man.1: "man \- an interface to the system reference manuals" $ lexgrog \-fw man.1 man.1 (t): "man \- an interface to the system reference manuals" $ lexgrog \-c whatis.cat1 whatis.cat1: "whatis \- display manual page descriptions" $ lexgrog broken.1 broken.1: parse failed .fi .SH "ЧТО АНАЛИЗИРУЕТСЯ" \fBmandb\fP (использует тот же код, что и \fBlexgrog\fP) анализирует раздел \fBNAME\fP (\fBНАЗВАНИЕ\fP), расположенный в самом начале каждой справочной страницы, в поиске названий и описаний возможностей. Хотя анализатор допускает различные вариации и понимает много различных форматов, которые сложились за время использования, иногда он не может извлечь требуемую информацию. .PP При использовании традиционных наборов макросов \fIman\fP, правильно оформленный раздел \fBNAME\fP выглядит так: .PP .RS .nf \f(CW\&.SH NAME foo \e\- программа, выполняющая что\-то\fP .fi .RE .PP Некоторые справочные пейджеры требуют \(oq\e\-\(cq точно как показано; \fBmandb\fP более терпим, но для совместимости с другими системами всё же лучше оставлять символ обратной косой черты. .PP Слева от черты могут быть несколько названий, разделённых через запятую. Названия с пробелами будут игнорироваться во избежании необычного поведения для определённо плохо оформленных разделов \fBNAME\fP. У текста справа нет специального формата, и он может располагаться на нескольких строках. Если в одной справочной странице содержатся несколько свойств с различными описаниями, то используется следующая форма: .PP .RS .nf \f(CW\&.SH NAME foo, bar \e\- программы, выполняющие что\-то \&.br baz \e\- программа ничего не делающая\fP .fi .RE .PP (Вместо макроса разрыва \f(CW.br\fP может использоваться макрос, начинающий новый параграф, типа \f(CW.PP\fP.) .PP Если используется BSD\-производный набор макросов \fImdoc\fP, то правильно оформленный раздел \fBNAME\fP выглядит так: .PP .RS .nf \f(CW\&.Sh NAME \&.Nm foo \&.Nd программа, выполняющая что\-то\fP .fi .RE Есть несколько распространённых причин, по которым анализ может завершаться неудачно. Иногда авторы справочных страниц заменяют \(oq.SH NAME\(cq на \(oq.SH MYPROGRAM\(cq, и поэтому \fBmandb\fP не может найти раздел, из которого нужно извлекать информацию. Иногда авторы включают раздел NAME, но размещают его в свободной форме, а не как положено \(oqназвание \e\- описание\(cq. Однако любой синтаксис, приведённый выше, будет понят. .SH "СМОТРИТЕ ТАКЖЕ" .if !'po4a'hide' .IR apropos (1), .if !'po4a'hide' .IR man (1), .if !'po4a'hide' .IR whatis (1), .if !'po4a'hide' .IR mandb (8) .SH ЗАМЕЧАНИЯ \fBlexgrog\fP пытается проанализировать файлы, содержащие запросы .so, но сможет это сделать, если только файлы правильно установлены в иерархии справочных страниц. .SH АВТОР Авторы кода, используемого \fBlexgrog\fP для сканирования справочных страниц: .PP .nf .if !'po4a'hide' Wilf.\& (G.Wilford@ee.surrey.ac.uk). .if !'po4a'hide' Fabrizio Polacco (fpolacco@debian.org). .if !'po4a'hide' Colin Watson (cjwatson@debian.org). .fi .PP Колин Ватсон (Colin Watson) написал текущий вариант для интерфейса командной строки, а также данную справочную страницу. .SH ОШИБКИ .if !'po4a'hide' https://savannah.nongnu.org/bugs/?group=man-db