Provided by: man-db_2.10.2-2_amd64 bug

НАЗВАНИЕ

       lexgrog - анализирует заголовочную информацию справочных страниц

СИНТАКСИС

       lexgrog [-m|-c] [-dfw?V] [-E кодировка] файл ...

ОПИСАНИЕ

       lexgrog  —  это  реализация  традиционной  “groff guess” утилиты с помощью lex. Она читает
       список файлов из командной строки, которые являются файлами исходников справочных  страниц
       или  уже  отформированными  (“cat”)  страницами,  и  показывает  их  названия  и описания,
       используемые apropos и whatis, список предварительных фильтров  обработки,  требуемый  man
       страницей перед тем как она будет передана nroff или troff, или обеим программам.

       Если входные данные неправильно отформатированы, lexgrog выведет “parse failed”; это может
       оказаться полезным для внешних программ, которым нужно  проверять  правильность  написания
       man  страниц.  Если в качестве одного из имён файлов lexgrog передан символ “-”, то данные
       будут читаться из стандартного входного потока; если любой входной  файл  сжат,  то  будет
       автоматически читаться его расжатая версия.

ПАРАМЕТРЫ

       -d, --debug
              Показывать отладочную информацию.

       -m, --man
              Анализировать  входные  данные  как  файлы  исходников справочных страниц. Является
              действием по умолчанию, если не указан параметр --man или --cat.

       -c, --cat
              Анализировать входные данные как уже отформатированные  справочные  страницы  (“cat
              страницы”). --man и --cat не могут указываться одновременно.

       -w, --whatis
              Показать  название  и  описание  из  заголовка  справочной  страницы, используемого
              apropos и whatis. Является действием по умолчанию, если не указан параметр --whatis
              или --filters.

       -f, --filters
              Показать  список  фильтров,  необходимых  для  предварительной обработки справочной
              страницы перед форматированием с помощью nroff или troff.

       -E кодировка, --encoding кодировка
              Использовать кодировку вместо предполагаемой кодировки символов страницы.

       -?, --help
              Показать справочное сообщение и закончить работу.

       --usage
              Показать короткое сообщение об использовании и завершить работу.

       -V, --version
              Показать информацию о версии.

КОД ВЫХОДА

       0      Успешное выполнение программы.

       1      Ошибка использования.

       2      lexgrog не удалось разобрать один или более входных файлов.

ПРИМЕРЫ

         $ 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

ЧТО АНАЛИЗИРУЕТСЯ

       mandb (использует  тот  же  код,  что  и  lexgrog)  анализирует  раздел  NAME  (НАЗВАНИЕ),
       расположенный  в  самом  начале  каждой  справочной страницы, в поиске названий и описаний
       возможностей. Хотя анализатор допускает различные  вариации  и  понимает  много  различных
       форматов,  которые  сложились за время использования, иногда он не может извлечь требуемую
       информацию.

       При использовании традиционных наборов макросов man,  правильно  оформленный  раздел  NAME
       выглядит так:

              .SH NAME
              foo \- программа, выполняющая что-то

       Некоторые  справочные пейджеры требуют ‘\-’ точно как показано; mandb более терпим, но для
       совместимости с другими системами всё же лучше оставлять символ обратной косой черты.

       Слева от черты могут быть  несколько  названий,  разделённых  через  запятую.  Названия  с
       пробелами  будут  игнорироваться  во  избежании необычного поведения для определённо плохо
       оформленных  разделов  NAME.  У  текста  справа  нет  специального  формата,  и  он  может
       располагаться на нескольких строках. Если в одной справочной странице содержатся несколько
       свойств с различными описаниями, то используется следующая форма:

              .SH NAME
              foo, bar \- программы, выполняющие что-то
              .br
              baz \- программа ничего не делающая

       (Вместо макроса разрыва .br может использоваться макрос, начинающий новый  параграф,  типа
       .PP.)

       Если  используется  BSD-производный  набор  макросов mdoc, то правильно оформленный раздел
       NAME выглядит так:

              .Sh NAME
              .Nm foo
              .Nd программа, выполняющая что-то

       Есть несколько распространённых причин, по  которым  анализ  может  завершаться  неудачно.
       Иногда  авторы  справочных страниц заменяют ‘.SH NAME’ на ‘.SH MYPROGRAM’, и поэтому mandb
       не может найти раздел, из которого нужно  извлекать  информацию.  Иногда  авторы  включают
       раздел NAME, но размещают его в свободной форме, а не как положено ‘название \- описание’.
       Однако любой синтаксис, приведённый выше, будет понят.

СМОТРИТЕ ТАКЖЕ

       apropos(1), man(1), whatis(1), mandb(8)

ЗАМЕЧАНИЯ

       lexgrog пытается проанализировать файлы, содержащие запросы .so, но  сможет  это  сделать,
       если только файлы правильно установлены в иерархии справочных страниц.

АВТОР

       Авторы кода, используемого lexgrog для сканирования справочных страниц:

       Wilf. (G.Wilford@ee.surrey.ac.uk).
       Fabrizio Polacco (fpolacco@debian.org).
       Colin Watson (cjwatson@debian.org).

       Колин  Ватсон  (Colin  Watson)  написал текущий вариант для интерфейса командной строки, а
       также данную справочную страницу.

ОШИБКИ

       https://gitlab.com/cjwatson/man-db/-/issues
       https://savannah.nongnu.org/bugs/?group=man-db