
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 grotty
para o coletor, para que você tenha uma saída mais limpa.
No entanto, esse erro é provavelmente um bug na mpv
pá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 grotty
diz,
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:
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