Gibt es eine Möglichkeit, alle Linux-Manpages in reinen Text, HTML oder Markdown zu konvertieren?Konvertieren Sie alle Linux-Manpages in Text/HTML oder Markdown
Ich muss dies für jede Man-Datei, die ich auf meinem System installiert habe.
Gibt es eine Möglichkeit, alle Linux-Manpages in reinen Text, HTML oder Markdown zu konvertieren?Konvertieren Sie alle Linux-Manpages in Text/HTML oder Markdown
Ich muss dies für jede Man-Datei, die ich auf meinem System installiert habe.
Ja ... Um eine von ihnen zu wandeln, sagen wir, ein Mann des Menschen:
zcat /usr/share/man/man1/man.1.gz | groff -mandoc -Thtml
Wenn Sie ‚alle auf Ihrem PC installiert‘, die Sie gerade durch sie durchlaufen. Verwenden Sie für unterschiedliche Ausgaben (z. B. Text) ein anderes "Gerät" (das Argument -T).
Nur für den Fall ... wenn die 'Iteration' das eigentliche Problem ist, können Sie verwenden:
OUT_DIR=...
for i in `find -name '*.gz'`; do
dname=`dirname $i`
mkdir -p $OUT_DIR/$dname
zcat $i | groff -mandoc -Thtml > $OUT_DIR/$i.html
done
Danke, ich denke, ich könnte ein Skript erstellen, um es zu tun ... Ich bin auf der Suche nach einem vernünftigen Weg, um alle Man-Dateien zu konvertieren, nicht nur eine. – KJS
Für eine gegebene Manpage $ PAGE funktioniert das, aber leider ist das erzeugte HTML nicht sehr nett (Inline-CSS, keine Klassennamen, nicht-semantisch). Ich hätte gerne eine automatische Verlinkung zu Überschriften usw. Zeit, um das Manpage-Format selbst zu untersuchen ... Kurzbefehl zum Suchen und Ausgeben einer Manpage: '' 'zcat $ (man -w $ PAGE) | groff-mandoc -Thtml''' –
Tolle Tipps; falls OSX-Benutzer dies finden: Verwenden Sie 'gzcat' anstelle von' zcat' um zu dekomprimieren (die meisten Seiten werden nicht wirklich auf OSX komprimiert). Auch wenn Ubuntu (ab 14.04) mit 'groff' kommt, ist der HTML-Ausgabefilter nicht vorinstalliert, und es ist nicht offensichtlich, wie man ihn installiert (weder den' groff' noch den 'groff-base'' apt-get hinzufügt) 'Pakete hilft); Es gibt ein alternatives 'man2html'-Paket, aber beachten Sie, dass sich seine HTML-Ausgabe unterscheidet. – mklement0
heute Ihr Glückstag ist. Jemand hat das schon für dich getan. http://linux.die.net/
Aber einige der Seiten dort sind gemunkelt, um nicht auf dem neuesten Stand zu sein. http://www.kernel.org/doc/man-pages/ ist auch ein guter Ort. –
@ Basile - cool. Gut zu wissen. Ich würde vermuten, dass kernel.org auf dem neuesten Stand sein würde. Vielen Dank! – cowboydan
Man Seiten sind dort eingepackt, was ziemlich falsch ist, da ich gerne derjenige sein würde, der die Ausgabebreite steuert. – mbaitoff
Verwenden Sie den Befehl man -k ''
verfügbar alle Mann-Seite Namen auflisten können, die als find
und zcat
Urmensch-Seite Datendateien besser sein könnte; In der Zwischenzeit hat der Befehl von man eine Option -T, --troff-device[=DEVICE]
, die HTML der angegebenen man-page Abschnitt und Name generieren kann. Also folgender Bash-Skript kommt zu konvertiert alle Mann-Seiten in Ihrem Linux in HTML-Dateien:
man -k '' | while read sLine; do
declare sName=$(echo $sLine | cut -d' ' -f1)
declare sSection=$(echo $sLine | cut -d')' -f1|cut -d'(' -f2)
echo "converting ${sName}(${sSection}) to ${sName}.${sSection}.html ..."
man -Thtml ${sSection} ${sName} > ${sName}.${sSection}.html
done
In einem Intranet ohne Internetzugang, dass online man-pages service nicht verfügbar ist, setzen Sie diese Dateien in Ihrem statischen HTTP-Server wie beispiel als Nginx mit Autoindex auf ist eine gute Option, wo browse und Strg + F bequem sein können.
Es gibt ein Projekt zur Automatisierung dieses Jobs: https: // github.com/vbem/man-to-github-pages – vbem
man -Hfirefox ls
öffnet die Man-Page von "ls" direkt in Firefox
Auf welcher Plattform/Version von man ist diese Option? – crobicha
Hallo @crobicha. Ich kenne nicht die minimale 'Mann'-Version, die diese Option unterstützt. aber mein 'man-2.7.5' hat die Option' -H, --html [= BROWSER] benutzt elinks oder BROWSER, um die HTML-Ausgabe anzuzeigen. Bitte uhelp, verbessere deine Antwort, stelle eine minimale 'man'-Version und einen Auszug aus der man-man-Seite zur Verfügung. Sagen Sie auch, dass die OP-Frage nicht beantwortet wird, um ** ALLE ** lokalen Man-Pages in HTML oder Markdown zu konvertieren. Prost – olibre
Es gibt eine kürzere Befehlszeile: 'man -H ls', aber die Umgebungsvariable' BROWSER' muss vorher gesetzt werden: 'export BROWSER = firefox' – olibre
[Pandoc] (http://johnmacfarlane.net/pandoc/) ziemlich viel tun, aber leider nicht 'man' -> alles else (obwohl es viele Formate in 'man' konvertieren kann) –
Es kann viele Formate in' Mann' konvertieren, schlecht. - FTFY –