LEXGROG(1) Utilitarios de paginacao de manual LEXGROG(1) NOME lexgrog - analisa informacoes do cabecalho em paginas man SINOPSE lexgrog [-m|-c] [-dfw?V] [-E codificacao] arquivo ... DESCRICAO lexgrog e uma implementacao do utilitario "groff guess" tradicional em lex. Ele le uma lista de arquivos em sua linha de comando como arquivos-fonte de paginas man ou paginas "cat" pre-formatadas, e exibe os respectivos nomes e descricoes como usado por apropos e whatis. A lista de filtros de pre-processamento sao exigidos pela pagina man antes dela ser passada para nroff ou troff, ou ambos. Se sua entrada estiver mal formatada, lexgrog ira imprimir "parse failed"; isso pode ser util para programas externos que precisam verificar se as paginas man estao corretas. Se um dos arquivos de entrada do lexgrog for "-", ele lera a partir da entrada padrao; se algum arquivo de entrada estiver comprimido, uma versao descomprimida sera lida automaticamente. OPCOES -d, --debug Emite mensagens de depuracao. -m, --man Analisa a entrada como arquivos-fontes de pagina man. Esse e o padrao se nao forem fornecidas as opcoes --man ou --cat. -c, --cat Analisa a entrada como paginas man pre-formatadas ("paginas cat"). As opcoes --man e --cat nao podem ser fornecidas simultaneamente. -w, --whatis Exibe o nome da descricao a partir do cabecalho da pagina man, como usado por apropos e whatis. Esse e o padrao se nao forem fornecidas as opcoes --apropos ou --whatis. -f, --filters Exibe a lista de filtros necessarios para pre-processar a pagina man antes de formatar com nroff ou troff. -E codificacao, --encoding codificacao Sobrescreve o conjunto de caracteres adivinhado para a pagina usando codificacao. -?, --help Imprime uma mensagem de ajuda e sai. --usage Imprime uma mensagem curta e sai. -V, --version Exibe informacao da versao. STATUS DE SAIDA 0 Execucao com sucesso do programa. 1 Erro de uso. 2 lexgrog nao conseguiu analisar um ou mais arquivos de entrada. EXEMPLOS $ lexgrog man.1 man.1: "man - uma interface para os manuais de referencia do sistema" $ lexgrog -fw man.1 man.1 (t): "man - uma interface para os manuais de referencia do sistema" $ lexgrog -c whatis.cat1 whatis.cat1: "whatis - exibe descricoes de uma linha de paginas de manual" $ lexgrog broken.1 broken.1: parse failed ANALISE COM WHATIS mandb (que usa o mesmo codigo que o lexgrog) analisa a secao NAME no topo de cada pagina de manual procurando por nomes e descricoes de recursos documentados em cada um. Enquanto o analisador e bem tolerante, ja que ele tem que lidar com uma gama de formas diferentes que ja se usou em algum momento, ele pode falhar em alguns casos em extrair as informacoes necessarias. Ao usar o conjunto tradicional de macros do man, uma secao NAME correta se parece com algo como isto: .SH NAME foo \- program to do something Alguns paginadores de manual exigem que `\-' seja exatamente como mostrado; mandb e mais tolerante, mas, para que haja compatibilidade com outros sistemas, ainda e uma boa ideia reter a barra invertida. No lado esquerdo, pode haver varios nomes, separados por virgulas. Nomes contendo espacos em branco serao ignorados para evitar comportamento patologico em certas secoes NAME malformados. O texto no lado direito e de formato livre, e pode se estendido por multiplas linhas. Se varios recursos com descricoes diferentes estao sendo documentados na mesma pagina de manual, entao a seguinte forma e usado: .SH NAME foo, bar \- programs to do something .br baz \- program to do nothing (A macro which starts a new paragraph, like .PP, may be used instead of the break macro .br.) Ao usar o conjunto de macros do mdoc, que e derivado do BSD, uma secao NAME correta se parece com algo como isto: .Sh NAME .Nm foo .Nd program to do something Ha varios motivos comuns pelos quais a analise com whatis falha. Alguns autores de paginas de manual substituem `.SH NAME' com `.SH MEUPROGRAMA', e, entao, mandb nao e capaz de localizar a secao a partir da qual se extrairia a informacao que ele precisa. Alguns autores incluem uma secao NAME, mas colocam um texto de forma livre ali em vez de colocar em `nome \- descricao'. Porem, qualquer sintaxe que se assemelhe ao mencionado acima deve ser aceito. VEJA TAMBEM apropos(1), man(1), whatis(1), mandb(8) NOTAS lexgrog tenta analisar arquivos contendo requisicoes .so, mas so sera capaz de faze-lo de forma correta se os arquivos estiverem instalados em uma hierarquia de paginas de manual. AUTOR O codigo usado por lexgrog para fazer uma varredura de paginas 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 versao atual do front-end da linha de comando, assim como essa pagina de manual. PROBLEMAS https://gitlab.com/man-db/man-db/-/issues https://savannah.nongnu.org/bugs/?group=man-db 2.12.1 2024-04-05 LEXGROG(1)