LEXGROG
Section: Utilitários de paginação de manual (1)
Updated: 2023-01-08
Index
Return to Main Contents
NOME
lexgrog - analisa informações do cabeçalho em páginas man
SINOPSE
lexgrog [-m|-c] [-dfw?V] [-E codificação]
arquivo ...
DESCRIÇÃO
lexgrog é uma implementação do utilitário "groff guess" tradicional
em lex. Ele lê uma lista de arquivos em sua linha de comando como
arquivos-fonte de páginas man ou páginas "cat" pré-formatadas, e exibe
os respectivos nomes e descrições como usado por apropos e whatis. A
lista de filtros de pré-processamento são exigidos pela página man antes
dela ser passada para nroff ou troff, ou ambos.
Se sua entrada estiver mal formatada, lexgrog irá imprimir "parse
failed"; isso pode ser útil para programas externos que precisam
verificar se as páginas man estão corretas. Se um dos arquivos de entrada do
lexgrog for "-", ele lerá a partir da entrada padrão; se algum
arquivo de entrada estiver comprimido, uma versão descomprimida será lida
automaticamente.
OPÇÕES
- -d, --debug
-
Emite mensagens de depuração.
- -m, --man
-
Analisa a entrada como arquivos-fontes de página man. Esse é o padrão se não
forem fornecidas as opções --man ou --cat.
- -c, --cat
-
Analisa a entrada como páginas man pré-formatadas ("páginas cat"). As
opções --man e --cat não podem ser fornecidas simultaneamente.
- -w, --whatis
-
Exibe o nome da descrição a partir do cabeçalho da página man, como usado
por apropos e whatis. Esse é o padrão se não forem fornecidas as
opções --apropos ou --whatis.
- -f, --filters
-
Exibe a lista de filtros necessários para pré-processar a página man antes
de formatar com nroff ou troff.
- -E codificação, --encoding codificação
-
Sobrescreve o conjunto de caracteres adivinhado para a página usando
codificação.
- -?, --help
-
Imprime uma mensagem de ajuda e sai.
- --usage
-
Imprime uma mensagem curta e sai.
- -V, --version
-
Exibe informação da versão.
STATUS DE SAÍDA
- 0
-
Execução com sucesso do programa.
- 1
-
Erro de uso.
- 2
-
lexgrog não conseguiu analisar um ou mais arquivos de entrada.
EXEMPLOS
$ lexgrog man.1
man.1: "man - uma interface para os manuais de referência do sistema"
$ lexgrog -fw man.1
man.1 (t): "man - uma interface para os manuais de referência do sistema"
$ lexgrog -c whatis.cat1
whatis.cat1: "whatis - exibe descrições de uma linha de páginas de manual"
$ lexgrog broken.1
broken.1: parse failed
ANÁLISE COM WHATIS
mandb (que usa o mesmo código que o lexgrog) analisa a seção NAME
no topo de cada página de manual procurando por nomes e descrições de
recursos documentados em cada um. Enquanto o analisador é bem tolerante, já
que ele tem que lidar com uma gama de formas diferentes que já se usou em
algum momento, ele pode falhar em alguns casos em extrair as informações
necessárias.
Ao usar o conjunto tradicional de macros do man, uma seção NAME
correta se parece com algo como isto:
-
.SH NAME foo \- programa para fazer alguma coisa
Alguns paginadores de manual exigem que '\-' seja exatamente como
mostrado; mandb é mais tolerante, mas, para que haja compatibilidade
com outros sistemas, ainda é uma boa ideia reter a barra invertida.
No lado esquerdo, pode haver vários nomes, separados por vírgulas. Nomes
contendo espaços em branco serão ignorados para evitar comportamento
patológico em certas seções NAME malformados. O texto no lado direito é
de formato livre, e pode se estendido por múltiplas linhas. Se vários
recursos com descrições diferentes estão sendo documentados na mesma página
de manual, então a seguinte forma é usado:
-
.SH NAME foo, bar \- programas para fazer alguma coisa .br baz \- programas para fazer nada
(Uma macro que se inicia com um novo parágrafo, como a .PP, pode ser
usada em vez da macro de quebra de linha .br.)
Ao usar o conjunto de macros do mdoc, que é derivado do BSD, uma seção
NAME correta se parece com algo como isto:
-
.Sh NAME .Nm foo .Nd programa para fazer alguma coisa
Há vários motivos comuns pelos quais a análise com whatis falha. Alguns
autores de páginas de manual substituem '.SH NAME' com '.SH
MEUPROGRAMA', e, então, mandb não é capaz de localizar a seção a
partir da qual se extrairia a informação que ele precisa. Alguns autores
incluem uma seção NAME, mas colocam um texto de forma livre ali em vez de
colocar em 'nome \- descrição'. Porém, qualquer sintaxe que se
assemelhe ao mencionado acima deve ser aceito.
VEJA TAMBÉM
apropos(1),
man(1),
whatis(1),
mandb(8)
NOTAS
lexgrog tenta analisar arquivos contendo requisições .so, mas só será
capaz de fazê-lo de forma correta se os arquivos estiverem instalados em uma
hierarquia de páginas de manual.
AUTOR
O código usado por lexgrog para fazer uma varredura de páginas de manual
foi escrito por:
Wilf. (G.Wilford@ee.surrey.ac.uk).Fabrizio Polacco (fpolacco@debian.org).Colin Watson (cjwatson@debian.org).
Colin Watson escreveu a versão atual do front-end da linha de comando, assim
como essa página de manual.
PROBLEMAS
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db
Index
- NOME
-
- SINOPSE
-
- DESCRIÇÃO
-
- OPÇÕES
-
- STATUS DE SAÍDA
-
- EXEMPLOS
-
- ANÁLISE COM WHATIS
-
- VEJA TAMBÉM
-
- NOTAS
-
- AUTOR
-
- PROBLEMAS
-
This document was created by
man2html,
using the manual pages.
Time: 17:01:08 GMT, May 23, 2024