As páginas man podem ser convertidas para o formato html e / ou pdf?

6

O comando man bash produz muita saída. O que eu desejo seria pesquisar os resultados ou imprimir os resultados em papel. Então, existe uma maneira de converter uma página man para um documento html e / ou pdf.

Eu preferiria o trabalho de resposta não só man bash, mas sim para qualquer página de homem.

Eu conheço a saída de man bash foi postado na internet, mas geralmente esses posts não estão atualizados.

David Anderson
fonte
1
Uma solução específica para Mac para PDF é discutida em apple.stackexchange.com/questions/303737/…
Ture Pålsson
@Ture: Como entrar no ps2pdf comando? O comando está escondido em algum lugar?
David Anderson
Se você está feliz com o formato de carta dos EUA e com um fluxo de trabalho interativo, não precisa do ps2pdf; apenas corra man -t ls | open -f -a Preview e, em seguida, salve como PDF a partir da visualização. Caso contrário, o ps2pdf vem como parte do pacote Ghostscript que, acredito, é mais facilmente instalado via Homebrew.
Ture Pålsson
Para uma maneira conveniente de procurar PDFs de páginas man em seu navegador, você pode usar Bwana .
200_success

Respostas:

13

Sim, existem inúmeras ferramentas para converter páginas de manual para HTML e PDF.

Abordagem UNIX

Convertendo uma página man em HTML, PDF e texto fornece instruções detalhadas para o macOS:

cat /usr/share/man/man1/osascript.1 | groff -mandoc -Thtml >man_osascript.html

Se o arquivo terminar em .gz, então substitua o seguinte.

gunzip --to-stdout /usr/share/man/man8/cupsfilter.8.gz | groff -mandoc -Thtml >man_cupsfilter.html

Para converter de HTML para PDF:

cupsfilter man_osascript.html > man_osascript.pdf

Para outras cadeias de ferramentas, veja estas questões relacionadas:

pandoc

Outra abordagem é usar o popular ferramenta pandoc . Essa ferramenta pode converter páginas de manual em uma ampla variedade de formatos.

Ligação x-man-page

O terminal.app do macOS oferece x-man-page Esquema de URL para imprimir páginas de manual. Tente abrir o link abaixo para ver o ls página man:

x-man-page://ls
Graham Miln
fonte
1
Apenas para verificar: no MacOS, man não suporta o -T opção diretamente?
Simon Richter
Se você usa Debian moderno / Ubuntu e instala o pacote groff você pode apenas fazer man -Tpdf osascript > osascript.pdf.
Mikko Rantalainen
6

Aqui está um função Eu adicionei ao meu .bash_profile arquivo para criar um PDF De cada BSD comando Eu verificaria o página de manual para:

manp () 
{ 
    docDir="$HOME/Documents/BSD Commands"
    [[ ! -d $docDir ]] && mkdir -p "$docDir"
    if [[ ! -f $docDir/$1.pdf ]]; then
        man -t "$1" | pstopdf -i -o "$docDir/$1.pdf"
        open "$docDir/$1.pdf"
    else
        open "$docDir/$1.pdf"
    fi
}

Então, em terminal , digitando, e. manp bash ao invés de man bash uma PDF é criado, se já não foi, e depois aberto pelo aplicativo registrado para manipular PDF documentos. o padrão é Visualizar , no entanto, no meu sistema está configurado para usar Desnatar , como sua funcionalidade de pesquisa é melhor do que Visualizar e, de fato, encontrará a string de pesquisa quando Visualizar só não vai.

Note que a primeira vez que o função é usado ele irá enumerar algumas fontes na saída em terminal , no entanto, isso é uma enumeração de uma vez das fontes.


Como uma nota lateral, digitando apenas o comando nome em terminal e depois clique com o botão direito nele e selecione Homem aberto Página , exibe-o de forma totalmente rolável e pesquisável terminal janela, que é muito melhor, em seguida, digitando, e. man bash.

user3439894
fonte
5
man -t yourcommand | open -fa "Preview"

Onde yourcommand é o que você quer a página do homem de.


$ man -t tmutil | open -fa "Preview"

grg
fonte