Como posso obter 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?

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

    
por user123456 26.09.2016 / 08:09

4 respostas

12

Você pode alterar o pager para cat usando a opção -P :

man -P cat command

onde command é o comando de interesse cuja página de manual você deseja ler.

Você também pode redirecionar a man page para um arquivo que pode ser aberto:

man command > file
    
por edwinksl 26.09.2016 / 08:19
4

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

Por exemplo, para obter o conteúdo bruto da página man 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
    
por heemayl 26.09.2016 / 08:19
3

Se você deseja um formato de texto E não deseja esses "separadores de páginas" em todos os lugares do documento, uma maneira é:

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

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

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

    
por Olivier Dulac 26.09.2016 / 14:46
1

Redirecionar a saída de man (como sugerido em outras respostas) deve funcionar como esperado. man detecta que sua saída não é tty, por isso evita imprimir caracteres de escape apropriados que, de outra forma, forneceriam itálico , negrito e outra formatação.

Como uma resposta mais geral, você pode usar col -b para remover esses caracteres da saída de qualquer comando. Nem todos os comandos são tão inteligentes quanto man e 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
    
por Soren L. Hansen 26.09.2016 / 13:55