Como posso obter uma saída de texto bruto de um manual no meu terminal

8

Como posso obter uma saída de texto bruto de um manual no meu terminal?

Quero ter o manual sem uma tela do tipo "menos" exibida.

user123456
fonte
2
O que você quer dizer com "saída de texto bruto"? Existe uma -topção para formatar a página de manual groff.
precisa saber é o seguinte

Respostas:

12

Você pode alterar o pager para catusar a -Popção:

man -P cat command

Onde commandestá o comando de interesse cuja página de manual você deseja ler.

Você também pode redirecionar a página de manual para um arquivo que pode ser aberto para ler:

man command > file
edwinksl
fonte
4

Você pode ler diretamente os arquivos compactados (também podem ser descompactados) man, residindo /usr/share/man/em diretórios correspondentes às respectivas seções.

Por exemplo, para obter o conteúdo bruto da manpágina de cat, você precisa ler /usr/share/man/man1/cat.1.gz:

zcat /usr/share/man/man1/cat.1.gz 

Da mesma forma, para man 2 fork:

zcat /usr/share/man/man2/fork.2.gz
heemail
fonte
3

Se você deseja um formato de texto E NÃO deseja esses "separadores de páginas" traquinas em todos os lugares do documento, é uma maneira:

zcat /usr/share/man/en/man1/man.1.gz | groff -m man -rcR=1 -T ascii -

(mude /usr/share/man/en/man1/man.1.gzpara a página de manual que você está procurando. Esta é a página de manual do man (o mesmo que:, man manmas sem os separadores de página)

Existe uma maneira de fazer um comando man personalizado que faz o mesmo por você, mas não posso testá-lo agora ...

Olivier Dulac
fonte
1

manA saída do redirecionamento (conforme sugerido em outras respostas) deve funcionar conforme o esperado. mandetecta que sua saída não é tty e evita a impressão de caracteres de escape apropriados que, de outra forma, forneceriam itálico , negrito e outra formatação.

Como resposta mais geral, você pode usar col -bpara remover esses caracteres da saída de qualquer comando. Nem todos os comandos são tão inteligentes quanto mane podem não detectar que sua saída está sendo redirecionada. Em outras palavras, você poderia ter feito algo como:

man command | col -b > somefile
Soren L. Hansen
fonte