LEXGROG

Section: Utilidades do paginador do manual (1)
Updated: 2020-06-01
Page Index
 

NOME

lexgrog - analisar informação de cabeçalho em páginas do manual  

SINOPSE

lexgrog [-m|-c] [-dfw?V] [-E codificação] ficheiro ...  

DESCRIÇÃO

lexgrog é uma implementação do utilitário tradicional "groff guess") em lex. Ele lê a lista de ficheiros na linha de comandos como ficheiros fonte de páginas do manual ou páginas pré-formatadas "cat" e mostra o seu nome e descrição conforme utilizados por apropos e whatis, a lista de filtros de pré-processamento exigidos pela página do manual antes de ser passada para noff ou troff, ou ambos.

Se a entrada estiver mal formatada, lexgrog imprime "a análise falhou"; isto pode ser útil para programas externos que precisam verificar as páginas do manual para correcção. Se um dos ficheiros de entrada do lexgrog for "-", lerá da entrada padrão; se algum ficheiro de entrada for comprimido, será lida automaticamente uma versão descomprimida).  

OPÇÕES

-d, --debug
imprime informação de depuração.
-m, --man
Analisar entrada como ficheiros fonte de páginas do manual. É a predefinição se nem --man nem --cat forem indicados.
-c, --cat
Analisar entrada como páginas do manual pré-formatadas ("páginas cat"). --man e --cat não podem ser indicados em simultâneo.
-w, --whatis
Mostra o nome e descrição do cabeçalho da página do manual, como usado por apropos e whatis. É a predefinição se nem --whatis nem --filters forem indicados.
-f, --filters
Mostra a lista de filtros necessários ao pré-processamento da página do manual antes de a formatar com nroff ou troff.
-E codificação, --encoding codificação
Sobrepor o conjunto de caracteres adivinhado para a página com codificação.
-?, --help
mostra uma mensagem de ajuda e sai.
--usage
mostra uma mensagem curta de uso e sai.
-V, --version
mostra informação da versão.
 

ESTADO DE SAÍDA

0
Execução de programa com sucesso.
1
Erro de utilização.
2
lexgrog falhou ao analisar um ou mais dos seus ficheiros de entrada..
 

EXEMPLOS

  $ lexgrog man.1
  man.1: "man - um ambiente para os manuais de referência do sistema"
  $ lexgrog -fw man.1
  man.1 (t): "man - um ambiente para os manuais de referência do sistema"
  $ lexgrog -c whatis.cat1
  whatis.cat1: "whatis - mostra as descrições das páginas do manual"
  $ lexgrog broken.1
  broken.1: análise falhou
 

ANÁLISE WHATIS

mandb (que usa o mesmo código que lexgrog) analisa a secção NOME ao cimo de cada página do manual, procurando nomes e descrições das funcionalidades documentadas em cada uma delas. Embora o analisador seja muito tolerante, dado que tem de lidar com um número de diferentes formas que foram antes utilizadas, pode, às vezes, falhar a extracção da informação necessária.

Ao utilizar o conjunto de macros tradicional man, uma secção NOME correcta parece-se com isto:

.SH NOME
foo \- programa para fazer algo

Algumas páginas do manual requerem que '\-' seja exactamente como mostrado; mandb é mais tolerante, mas para compatibilidade com outros sistemas, é sempre boa ideia reter a barra invertida.

No lado esquerdo, pode haver vários nomes, separados por vírgulas. Nomes com espaços serão ignorados, para evitar comportamentos patológicos em certas secções NOME mal formadas. O texto no lado direito é livre, e pode ser dividido em várias linhas. Se estão a ser documentadas várias funcionalidades com diferentes descrições na mesma página do manual, é usado o seguinte formulário:

.SH NOME
foo, bar \- programas para fazer algo
.br
baz \- programa para não fazer nada

(pode usar uma macro que inicia um novo parágrafo, como .PP, em vez da macro de quebra .br)

Ao utilizar o conjunto de macros mdoc derivado de BSD, a secção NOME correcta parece-se com algo como isto:

.Sh NOME
.Nm foo
.Nd programa para fazer algo

Há várias razões para a falha da análise do whatis. Por vezes, os autores das páginas do manual substituem '.SH NOME' por '.SH MEUPROGRAMA', o que leva a que mandb não consiga encontra a secção de onde extrair a informação necessária. Outras vezes, incluem uma secção NOME mas colocam aqui texto livre, em vez de 'nome \- descrição'. Contudo, qualquer sintaxe parecida com o acima deverá ser aceite.  

VEJA TAMBÉM

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

NOTAS

lexgrog tenta analisar ficheiros contendo pedidos .so, mas só o poderá correctamente fazer se os ficheiros estiverem devidamente instalados numa hierarquia de páginas do manual.  

AUTOR

O código usado por lexgrog para analisar quem escreveu as páginas do manual:

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

Colin Watson escreveu a encarnação actual da linha de comandos, assim como esta página do manual.  

ERROS

https://savannah.nongnu.org/bugs/?group=man-db


 

Index

NOME
SINOPSE
DESCRIÇÃO
OPÇÕES
ESTADO DE SAÍDA
EXEMPLOS
ANÁLISE WHATIS
VEJA TAMBÉM
NOTAS
AUTOR
ERROS