Le pagine man possono essere convertite in formato html e / o pdf?

6

Il comando man bash produce molto output. Quello che desidero sarebbe cercare i risultati o stampare i risultati su carta. Quindi, c'è un modo per convertire una pagina man in un documento html e / o pdf.

Preferirei che la risposta funzionasse non solo per man bash , ma per qualsiasi pagina man.

So che l'output di man bash è stato pubblicato su Internet, ma in genere questi post non sono aggiornati.

    
posta David Anderson 13.02.2018 - 14:53
fonte

3 risposte

13

Sì, ci sono numerosi strumenti per convertire le pagine di manuale in HTML e PDF.

Approccio UNIX

Conversione di una pagina man in HTML, PDF e testo fornisce istruzioni dettagliate per macOS:

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

Se il file termina in .gz , allora sostituisci quanto segue.

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

Per la conversione da HTML a PDF:

cupsfilter man_osascript.html > man_osascript.pdf

Per altre catene di strumenti, vedi queste domande correlate:

Pandoc

Un altro approccio consiste nell'utilizzare il popolare strumento pandoc . Questo strumento può convertire pagine di manuale in un'ampia gamma di formati.

Link x-man-page

Terminal.app di macOS offre uno schema URL x-man-page per pagine di stampa graziose. Prova ad aprire il link sottostante per visualizzare la pagina man di ls :

x-man-page://ls
    
risposta data 13.02.2018 - 14:54
fonte
6

Ecco una funzione che ho aggiunto al mio file .bash_profile per creare un PDF di ogni comando BSD Vorrei controllare la pagina di manuale per:

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
}

Quindi, nel Terminale , digitando per es. manp bash invece di man bash un PDF viene creato, se non è già stato, e poi aperto dall'app registrata per gestire i documenti PDF . predefinito è Anteprima , tuttavia sul mio sistema è impostato per utilizzare Skim , poiché la sua funzionalità di ricerca è migliore di Anteprima e in effetti troverà la stringa di ricerca quando Anteprima non lo sarà.

Si noti che la prima volta che viene utilizzata la funzione enumera alcuni caratteri nell'output in Terminale , tuttavia questa è un'enumerazione una tantum dei caratteri.

Come nota a margine, digita solo il nome comando in Terminale e poi fai clic con il pulsante destro del mouse su di esso e seleziona Apri uomo Pagina , la visualizza in una finestra Terminale completamente scorrevole e ricercabile, che è molto meglio che digitare ad es. man bash .

    
risposta data 13.02.2018 - 16:59
fonte
5
man -t yourcommand | open -fa "Preview"

dove yourcommand è quella che vuoi la pagina man di

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

    
risposta data 14.02.2018 - 20:49
fonte

Leggi altre domande sui tag