Mensagens da página de manual 'grotty'

Mensagens da página de manual 'grotty'

Se eu tentar pesquisar em determinadas páginas de manual usando grep, recebo várias mensagens 'grosseiras'.

Por exemplo:

man mpv | grep dvdnav

resulta em:

mpv dvdnav://[longest|menu|title][/device] [options]
grotty:<standard input> (<standard input>):90690: character above first line discarded
grotty:<standard input> (<standard input>):90694: character above first line discarded
grotty:<standard input> (<standard input>):90698: character above first line discarded
grotty:<standard input> (<standard input>):90702: character above first line discarded
grotty:<standard input> (<standard input>):91895: character above first line discarded
grotty:<standard input> (<standard input>):91899: character above first line discarded
grotty:<standard input> (<standard input>):91903: character above first line discarded
grotty:<standard input> (<standard input>):91907: character above first line discarded
grotty:<standard input> (<standard input>):94450: character above first line discarded
grotty:<standard input> (<standard input>):94454: character above first line discarded
grotty:<standard input> (<standard input>):94458: character above first line discarded
                                                  │dvdnav://              │ dvdnav://menu                         │

O que causa essas mensagens e como posso evitá-las?

Responder1

Não instalei mpv, mas isso parece mais um aviso de grotty(o programa que processa fontes de páginas de manual para imprimi-las na saída padrão) provavelmente vindo de páginas de manual não compatíveis. Você tentou

man mpv 2> /dev/null | grep dvdnav

? Isso redirecionará erros e avisos grottypara o coletor, para que você tenha uma saída mais limpa.

No entanto, esse erro é provavelmente um bug na mpvpágina de manual (ou no grotty, nunca se sabe).

Responder2

Tenho certeza de que isso está sendo causado por um bug no formatador de texto da página de manual.

[Atualização: veja tambémesseresponda com referência aerrorelatório.]

man grottydiz,

grotty traduz a saída do GNU troff em um formato adequado para dispositivos semelhantes a máquinas de escrever.


Para depurar issoprimeiro, verifique se você também pode exibir esta página de manual com groffer(roffer gráfico).

Quando me deparei com esses erros, descobri que o groffer funcionava bem, sem o erro, mas o groffer gerou esse erro de 'caractere acima da primeira linha descartado'.


Então cavei um pouco mais fundo. A página que estava me causando problemas era zoneminder.1.

Primeiro descompactei:

gunzip -k zoneminder.1.gz

Então, usando isso, posso executar um teste:

man -l man.1 | grep jksffjsd   #-l means man the local file, i.e. produce error messages

Agora edite zoneminder.1 com dividir e conquistar. Primeiro excluí a última metade e o erro desapareceu. Em seguida, excluí apenas os últimos 3/4 e o erro ainda estava lá. Em seguida, excluí os últimos 5/8 e o erro ainda estava lá. Em seguida, dei uma olhada e comecei a remover apenas algumas linhas de cada vez até que o erro fosse ativado ou desativado.

Encontrei-me em uma tabela e só consegui excluir algumas entradas inteiras da tabela (veja a imagem abaixo).

O que descobri foi que essa mesa era o que estava bagunçando,mas somente quando transbordou para a próxima página, como é mostrado aqui:

insira a descrição da imagem aqui

Remova mais uma entrada da tabela e os erros desaparecerão.


Portanto, é justo simplesmente ignorar isso.

Vou ver se consigo reportá-lo como um bug no Grotty.

Responder3

Isso tem mais de 5 anos; Eu sei. Mas se outra pessoa estiver enfrentando o mesmo problema, acabei de responder a uma pergunta como esta; muito simples: Como usar o grep para procurar opções em uma página de manual?

$ man ls | grep -- '--a'
     -a, --all
     -A, --almost-all
     --author

E para restringir os resultados apenas a linhas começando com um hífen:

grep '^[[:space:]]*-' – 

Execução de teste:

$ man shutdown | grep -- '-' | grep '^[[:space:]]*-'
       --help
       -H, --halt
       -P, --poweroff
       -r, --reboot
       -h
       -k

informação relacionada