LEXGROG
Section: Utilidades do paginador do manual (1)
Updated: 2020-06-22
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