Wie kann ich eine Manpage "cat", als würde ich eine Datei "cat", um nur einen Speicherauszug des Inhalts zu erhalten?
Wie kann ich eine Manpage "cat", als würde ich eine Datei "cat", um nur einen Speicherauszug des Inhalts zu erhalten?
Antworten:
Erstens sind die man-Dateien normalerweise nur gezipte Textdateien, die sich irgendwo in Ihrem Dateisystem befinden. Da Ihre Laufleistung davon abhängt, sie zu finden, und Sie wahrscheinlich die verarbeitete und formatierte Version möchten, die Ihnen der Mensch anstelle der Quelle gibt, können Sie sie einfach mit dem man
Tool ausgeben . Beim Betrachten von sehe man man
ich, dass Sie das Programm ändern können, das zum Anzeigen von Manpages mit der -P
Markierung wie folgt verwendet wird:
man -P cat command_name
Es ist auch nichts wert, das man
automatisch erkennt, wenn Sie die Ausgabe weiterleiten, anstatt sie auf dem Bildschirm anzuzeigen. Wenn Sie sie also mit etwas anderem verarbeiten möchten, können Sie direkt zu diesem Schritt übergehen:
man command_name | grep search_string
oder um eine Datei zu sichern:
man command_name > formatted_man_page.txt
man
auf etwas oder Flaggen geeinigt haben, die in Ihrer Shell aufgezwungen werden und Ihre normale Funktion von trennen man
?
man command_name > formatted_man_page.txt
wird ein doppeltes Wort verursachen.
So rufen Sie eine ASCII-Manpage-Datei ab, ohne die lästigen Backspace- / Unterstreichungsversuche und die seltsamen Abfolgen von Fettdruck:
man ksh | col -b > ksh.txt
Manpages sind in der Regel troff
vorverarbeitete Dateien, und Sie können mit
groff -t -e -mandoc -Tascii manpage.1 | col -bx > manpage.txt
groff
ist ein Wrapper für troff
.
Möglicherweise müssen Sie gzip verwenden, um die Manpage-Dateien zuerst zu dekomprimieren, und die Ausgabe enthält weiterhin zahlreiche Formatierungsinformationen.
Ich mache das die ganze Zeit. Diese Kommandozeile freut mich:
man man | col -bx > man.txt
col -b entfernt Leerzeichen.
col -bx ersetzt auch Tabulatoren durch Leerzeichen, was meine starke Präferenz ist.
Wenn ich möchte, dass der Text während des Lesens in einer Breite formatiert wird, die meiner Präferenz entspricht, ändere ich den Befehl in folgenden:
MANWIDTH=10000 man man | col -bx > man.txt
man man | col -bx > man.txt
arbeitete für mich. Danke.
Verwenden man
Sie einfach den Befehl - Sie können die Ausgabe wie bei cat
einer Datei in andere Dinge umleiten.