Kopieren Sie den gesamten Text einer ganzen Manpage von Terminal.app

Ich lese gerade eine sehr lange Manpage ( man ssh). Ich möchte den gesamten Text speichern, um ihn bequemer in einem Texteditor lesen zu können.

Leider wählen Sie eine der folgenden Optionen:

  • Bearbeiten → Alles auswählen → Kopieren

  • Shell → Text exportieren als ...

führt dazu, dass nur ein Bildschirm voller Text gespeichert wird, nicht der gesamte Text, der vorbeigescrollt wurde.

Wie extrahiere ich den Text einer ganzen manSeite?

Es gibt eine kostenlose Drittanbieter-App Man Reader. Öffnet ein Fenster mit einer Liste auf der linken Seite aller möglichen Handbuchseiten. Wenn Sie eines auswählen, wird der Inhalt im mittleren Bereich gedruckt. Sehr schön.

Antworten (6)

Sie können einfachen Text in die Zwischenablage verschieben, indem Sie ihn pbcopywie gewohnt an eine beliebige Stelle einfügen.

man ssh | col -b | pbcopy

oder gleichwertig

man -P "col -b | pbcopy" ssh

Letzteres ist schöner, wenn Sie es als Alias ​​​​verwenden möchten, wie mancp ssh, gegeben:

alias mancp='man -P "col -b | pbcopy"'

Es gibt Methoden, um zu HTML/PDF zu gelangen: Können Handbuchseiten in das HTML- und/oder PDF-Format konvertiert werden?


Wenn Sie nur nach einem schöneren Leseerlebnis suchen, können Sie mit der rechten Maustaste auf eine Auswahl eines Befehls klicken und seine Manpage als separates Fenster / Registerkarte öffnen, mit normalem Scrollen und ⌘F finden.

Schönere Lektüre

Sie können anpassen, wie dies in Terminal Preferences → Profiles unter dem Man Page-Profil aussieht, das eines der standardmäßig vorhandenen Profile ist.
Dazu gehören Schriftfamilie und -größe (siehe auch Menü Ansicht) und Hintergrund-/Vordergrundfarben.

Manpage-Profileinstellungen

Der Rechtsklick für die Manpage funktioniert nicht mit iTerm. Auf meiner Maschine funktioniert es irgendwie mit Terminal. Das Fenster flackerte, glaube ich, 10 Mal pro Sekunde. Ich konnte es stoppen, indem ich klickte, aber ich wusste nicht, wo ich klickte ...
@jmh Scheint ein Mojave-Bug zu sein, dieses Flackern hat es auch hier
pbcopyund pbpastesind zwei der größten Dienstprogramme, die auf Macos verfügbar sind.
Vielen Dank! Alle Antworten sind informativ und nützlich, aber ich musste diese akzeptieren. Die man ssh | col -b | pbcopyLösung befasst sich direkt mit den Besonderheiten meiner Frage. Und dann, als i-Tüpfelchen, übertrumpft der eingebaute Manpage-Reader der Terminal.app die Benutzerfreundlichkeit.
Eine sinnvolle Erweiterung Ihrer Lösung kann auch die Spaltenbreite sein und/oder direkt im Texteditor Ihrer Wahl geöffnet werden, zB:MANWIDTH=80 MANPAGER="col -bx" man tmutil | open -fa "TextMate"

Wenn Sie die Manpage in der Vorschau lesen möchten, schön formatiert als PDF, können Sie sie ausführen

man -t ssh | open -f -a Preview

Oder

man ssh | col -b | open -f -e

um die Textversion in TextEdit zu öffnen.

Leiten Sie die Standardausgabe des laufenden manBefehls an das integrierte colDienstprogramm weiter. Führen Sie die folgende Befehlszeile aus:

man ssh | col -b > ssh.txt

@BasilBourque Ich habe auch diesen wunderbaren Artikel gefunden.

Das beste Leseerlebnis für diese Aufgaben wird erreicht, wenn eine dedizierte Anwendung dafür verwendet wird.

Zwei Kandidaten:

AquaLess

AquaLess ist ein Textpager für Mac OS X. Er ermöglicht Ihnen das Durchsuchen von reinen Textdateien und – was noch wichtiger ist – die Textausgabe von Unix-Befehlszeilentools. AquaLess ist ein Cocoa-Ersatz für den Less-Befehl, der auf das Terminalfenster beschränkt ist. AquaLess öffnet für jeden Text ein separates Fenster, sodass Sie während des Lesens im Terminal weiterarbeiten können.

Oder ManOpen

ManOpen ist eine MacOS X-GUI-Anwendung zum Anzeigen von Unix-Handbuchseiten, die die Standarddokumentation für Unix-Befehlszeilenprogramme, Programmierbibliotheken und andere Systeminformationen darstellen. Es kann Dateien direkt öffnen oder mit Titeln versehen werden, wobei es in diesem Fall die Ausgabe des `man'-Kommandozeilenprogramms anzeigt. Eine apropos-Schnittstelle wird ebenfalls bereitgestellt, die im Grunde eine schnelle und schmutzige Suche in den Manpage-Datenbanken ist. Anderen Anwendungen werden Dienste bereitgestellt, um ausgewählte Dateien/Titel zu öffnen oder entsprechende Suchen unter Verwendung des ausgewählten Textes durchzuführen. ManOpen kann nützlich sein, um eine Manpage zu öffnen, ohne zur Befehlszeile zu wechseln, lange und komplexe Manpages zu durchsuchen und zu durchsuchen oder sie einfach auszudrucken.

Ebenfalls enthalten ist ein `openman'-Befehlszeilentool, das man ähnlich ist, außer dass es die Manpages in ManOpen.app anzeigt, anstatt direkt auf dem Terminal.

Oder diese Seiten in Safari lesen? Dann geh bwana

Laden Sie Bwana herunter und legen Sie es in Ihrem Anwendungsordner ab. Dann können Sie, ohne es auszuführen, anfangen, Unix-Handbuchseiten mit Ihrem Browser anzuzeigen. Geben Sie einfach „man:“ gefolgt von der Manpage, nach der Sie suchen, in das URL-Feld Ihres Browsers ein. Drücken Sie die Eingabetaste und lassen Sie Bwana den Rest erledigen.

Die von Bwana generierten Manpages sind einfach und auf den Punkt gebracht. Wir haben nur etwas Farbe und einige fettgedruckte Überschriften hinzugefügt und ein wenig aufgeräumt, damit sie das Auge schonen. Tatsächlich ist Bwana so einfach – mehr können wir dazu nicht sagen. Also laden Sie Bwana einfach jetzt herunter, um zu sehen, wie einfach es sich in Ihren Browser integrieren lässt und welchen Unterschied es beim Anzeigen von Manpages macht.

Sie können dann eine Shell-Funktion dafür wie folgt erstellen:

function sman
    open -a Bwana man:$1
end

Der Vollständigkeit halber: Wenn Sie X11 installiert haben, dann haben Sie auch xman.

Andere Kandidaten könnten Man Reader ($) , Manpager , Manpower ($) , Man Viewer sein .

Wenn Sie möchten, dass Sie PDF -Kopien Ihrer Handbuchseiten haben, hier ist eine Funktion , die ich meiner .bash_profileDatei hinzugefügt habe, um ein PDF von jedem BSD - Befehl zu erstellen , auf den ich die Handbuchseite überprüfen würde :

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
}

Also, in Terminal , Eingabe zB manp bashanstelle man basheines PDF wird erstellt, falls dies noch nicht geschehen ist, und dann von der App geöffnet, die für die Verarbeitung von PDF - Dokumenten registriert ist. Der Standardwert ist Preview , aber auf meinem System ist es auf Skim eingestellt , da seine Suchfunktion besser ist als Preview und tatsächlich die Suchzeichenfolge findet, wenn Preview es einfach nicht tut.

Beachten Sie, dass bei der ersten Verwendung der Funktion einige Schriftarten in der Ausgabe in Terminal aufgezählt werden , dies ist jedoch eine einmalige Aufzählung der Schriftarten.

Das Schöne an PDF -Kopien ist, dass die Formatierung beibehalten wird, dh Fettschrift und Kursivschrift usw.


Als Nebenbemerkung, wenn Sie nur den Befehlsnamen in Terminal eingeben und dann mit der rechten Maustaste darauf klicken und Open man Page auswählen , wird es in einem vollständig scrollbaren und durchsuchbaren Terminalfenster angezeigt , was viel besser ist, als z . B. einzugeben man bash.

Warum die Dinge komplizierter machen, als sie sind?

https://man.openbsd.org/ssh

Da Sie hier posten können, haben Sie natürlich Zugang zum Internet.

Wenn Sie ein bisschen googlen, finden Sie wahrscheinlich Versionen, die auf verschiedene Arten formatiert sind, zB pdf oder so.

+1 für Pragmatismus, obwohl Sie jetzt manchmal herausfinden müssen, nach welcher Version der Manpage Sie suchen (für die verschiedenen Tools, bei denen sich die Befehlszeilenargumente zwischen Linux und BSD unterscheiden oder bei denen sich die Dinge zwischen den Versionen stark geändert haben )
und zusätzlich zu den Kommentaren von @fluffy funktioniert dies nicht für MacOS-Tools, von denen es viele gibt, z. B. tmutil für Time Machine.
Das ist eine andere Website. Sind Sie über Ihren Link im Beitrag oder nur über Google darauf gelangt? Mir ist bewusst, dass es viele Manpages online gibt, einschließlich Apples eigener Entwicklerreferenz, die tatsächlich die tmutil-Manpage enthält, aber dann wird diese Antwort zu nichts anderem als „Google it“?
@grg Ich habe es von Google. Ja, aber der Zweck der Frage bestand darin, das Lesen von Handbuchseiten zu vereinfachen, und Webseiten sind ein guter Weg, um dieses Ziel zu erreichen.