Como posso "gato" uma página de manual como eu "gato" um arquivo para obter apenas uma cópia do conteúdo?
Como posso "gato" uma página de manual como eu "gato" um arquivo para obter apenas uma cópia do conteúdo?
Respostas:
Primeiro, os arquivos man geralmente são apenas arquivos de texto compactados em gzip em algum lugar do seu sistema de arquivos. Como sua milhagem variará ao encontrá-los e você provavelmente desejou a versão processada e formatada que o homem fornece a você, em vez da fonte, basta despejá-las com a man
ferramenta. Observando man man
, vejo que você pode alterar o programa usado para visualizar as páginas de manual com o -P
sinalizador como este:
man -P cat command_name
Também não vale nada que man
detecte automaticamente quando você canaliza a saída em vez de visualizá-la na tela; portanto, se você for processá-la com outra coisa, poderá pular diretamente para essa etapa da seguinte forma:
man command_name | grep search_string
ou despejar para um arquivo:
man command_name > formatted_man_page.txt
man
alias para algo ou sinalizadores forçados no seu shell que estão separando o seu da função normal man
?
man command_name > formatted_man_page.txt
fará com que algumas palavras sejam duplicadas.
Para obter um arquivo de página do manual ASCII, sem as tentativas irritantes de backspace / underscore de sublinhar e sequências estranhas para fazer negrito:
man ksh | col -b > ksh.txt
As páginas de manual geralmente são troff
arquivos pré-processados e você pode acessar o texto sem formatação com,
groff -t -e -mandoc -Tascii manpage.1 | col -bx > manpage.txt
groff
é um invólucro para troff
.
Pode ser necessário usar o gzip para descompactar os arquivos da página de manual primeiro, e você ainda terá muitas informações de formatação na saída.
Eu faço isso toda hora. Esta linha de comando me faz feliz:
man man | col -bx > man.txt
col -b remove os backspaces.
col -bx também substitui as guias por espaços, que é minha forte preferência.
Se quiser que o texto seja formatado com uma largura de minha preferência durante a leitura, altero o comando para este:
MANWIDTH=10000 man man | col -bx > man.txt
man man | col -bx > man.txt
trabalhou para mim. Obrigado.
Basta usar o man
comando - você pode canalizar a saída para outras coisas da mesma maneira que cat
para um arquivo.