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

20

Ich lese eine sehr lange Manpage ( man ssh). Ich möchte den gesamten Text zum bequemeren Lesen in einem Texteditor speichern.

Wählen Sie leider eine der folgenden Möglichkeiten:

  • Bearbeiten → Alles auswählen → Kopieren

  • Shell → Text exportieren als ...

Dadurch wird nur ein Bildschirm mit dem gesamten Text gespeichert, nicht der gesamte Text, durch den gescrollt wurde.

Wie extrahiere ich den Text einer ganzen manSeite?

Basil Bourque
quelle
Es gibt eine kostenlose 3rd Party App Man Reader. Öffnet ein Fenster mit einer Liste links von allen möglichen Manpages. Wenn Sie eine auswählen, wird der Inhalt im mittleren Bereich gedruckt. Sehr schön.
20.

Antworten:

25

Sie können pbcopynormalen Text in die Zwischenablage verschieben, indem Sie ihn an eine beliebige Stelle weiterleiten , um ihn wie gewohnt einzufü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:

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

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


Wenn Sie nur das schönere Leseerlebnis suchen, können Sie mit der rechten Maustaste auf eine Auswahl eines Befehls klicken und dessen Manpage als separates Fenster / Register mit normalem Bildlauf und ⌘F-Suche öffnen.

Schönere Lektüre

Wie dies aussieht, können Sie unter Terminaleinstellungen → Profile unter dem Manpage-Profil anpassen, das eines der vorhandenen Standardprofile ist.
Dazu gehören Schriftfamilie und -größe (siehe auch Menü Ansicht) sowie Hintergrund- / Vordergrundfarben.

Manpage-Profileinstellungen

grg
quelle
2
Der Rechtsklick für die Manpage funktioniert mit iTerm nicht. Auf meinem Rechner funktioniert das irgendwie mit Terminal. Das Fenster flackerte 10 Mal pro Sekunde. Ich könnte es stoppen, indem ich
klicke,
@jmh Scheint ein Mojave-Bug zu sein, dieses Flackern hat es auch hier bekommen
nohillside
1
pbcopyund pbpastesind zwei der größten auf Macos verfügbaren Dienstprogramme.
Christopher Schultz
1
Vielen Dank! Alle Antworten sind informativ und nützlich, aber ich musste diese akzeptieren. Die man ssh | col -b | pbcopyLösung geht direkt auf die Besonderheiten meiner Frage ein. Und als Sahnehäubchen trumpft der integrierte Manpage-Reader der Terminal.app mit dieser Benutzerfreundlichkeit auf.
Basil Bourque
Eine sinnvolle Erweiterung Ihrer Lösung kann auch die Spaltenbreite und / oder das direkte Öffnen im Texteditor Ihrer Wahl umfassen, z. B .: MANWIDTH=80 MANPAGER="col -bx" man tmutil | open -fa "TextMate"
Asmus
13

Wenn Sie die als PDF formatierte Manpage in der Vorschau lesen möchten, 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.

nohillside
quelle
6

manLeiten Sie die Standardausgabe von running command an das integrierte colDienstprogramm weiter. Führen Sie die folgende Befehlszeile aus:

man ssh | col -b > ssh.txt

Nimesh Neema
quelle
@BasilBourque Ich habe auch diesen wunderbaren Artikel gefunden.
Nimesh Neema
4

Die beste Leseerfahrung für diese Aufgaben wird erzielt, wenn eine spezielle Anwendung dafür verwendet wird.

Zwei Kandidaten:

AquaLess

AquaLess ist ein Text-Pager für Mac OS X. Er ermöglicht das Durchsuchen von Nur-Text-Dateien und - was noch wichtiger ist - die Textausgabe von Unix-Befehlszeilentools. AquaLess ist ein Kakaoersatz für den Befehl less, der auf das Terminalfenster beschränkt ist. AquaLess öffnet für jeden Text ein eigenes 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, der Standarddokumentation für Unix-Befehlszeilenprogramme, Programmierbibliotheken und andere Systeminformationen. Es kann Dateien direkt öffnen oder mit Titeln versehen werden. In diesem Fall wird die Ausgabe des Befehlszeilenprogramms `man 'angezeigt. Es wird auch eine apropos-Schnittstelle bereitgestellt, bei der es sich im Grunde genommen um eine schnelle und unkomplizierte Suche in den Manpage-Datenbanken handelt. Dienste werden für andere Anwendungen bereitgestellt, um ausgewählte Dateien / Titel zu öffnen oder Apropos-Suchen mit dem ausgewählten Text durchzuführen. ManOpen kann nützlich sein, um eine Manpage zu öffnen, ohne auf die Befehlszeile zuzugreifen, lange und komplexe Manpages zu durchsuchen und zu durchsuchen oder sie einfach auszudrucken.

Ebenfalls enthalten ist ein Openman-Befehlszeilen-Tool, das man ähnelt, mit der Ausnahme, dass die Manpages in ManOpen.app angezeigt werden und nicht 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 überhaupt auszuführen, Unix-Handbuchseiten mit Ihrem Browser anzeigen. Geben Sie einfach "man:" gefolgt von der gewünschten Manpage in das URL-Feld Ihres Browsers ein. Drücken Sie die Eingabetaste und lassen Sie Bwana den Rest erledigen.

Die von Bwana erstellten Manpages sind einfach und auf den Punkt gebracht. Wir haben nur ein paar farbige, ein paar kühne Überschriften hineingeworfen und ein bisschen aufgeräumt, damit sie das Auge schonen. Tatsächlich ist Bwana so einfach - wir können nicht viel darüber sagen. Laden Sie Bwana jetzt herunter und sehen Sie, 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 wie folgt erstellen:

function sman
    open -a Bwana man:$1
end

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

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

LаngLаngС
quelle
3

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 googeln, finden Sie wahrscheinlich Versionen, die auf unterschiedliche Weise formatiert sind, z. B. pdf oder so.

db
quelle
4
+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 z. B. Linux und BSD unterscheiden oder bei denen sich die Dinge zwischen den Versionen stark verändert haben) )
flauschige
und zusätzlich zu @ fluffys Kommentaren funktioniert dies nicht für alle MacOS-Tools, von denen es reichlich gibt, z. B. tmutil für Time Machine.
grg
1
@grg Ja, es tut ss64.com/osx/tmutil.html
db
1
Das ist eine andere Website, sind Sie dazu gekommen, indem Sie über Ihren Link im Beitrag oder einfach über Google gesucht haben? Ich bin mir bewusst, dass eine Menge Manpages online sind, einschließlich Apples eigener Entwicklerreferenz, die zwar die Manpage tmutil enthält, aber diese Antwort wird dann nichts weiter als "Google it"?
grg
@grg Ich habe es von Google bekommen. Ja, aber der Zweck der Frage bestand darin, das Lesen von Manpages zu vereinfachen, und Webseiten sind ein guter Weg, um dieses Ziel zu erreichen.
db
2

Wenn Sie möchten, dass Sie PDF- Kopien Ihrer Handbuchseiten haben, ist hier eine Funktion, die ich zu 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
}

In Terminal wird also, falls noch nicht geschehen , die Eingabe von z. B. manp bashanstelle man basheiner PDF-Datei erstellt und dann von der für die Bearbeitung von PDF- Dokumenten registrierten App geöffnet . Die Standardeinstellung ist Vorschau , auf meinem System ist jedoch die Verwendung von Skim eingestellt , da die Suchfunktion besser ist als Vorschau und die Suchzeichenfolge in der Tat gefunden wird, wenn Vorschau dies nicht tut .

Beachten Sie, dass bei der ersten Verwendung der Funktion einige Schriftarten in der Ausgabe in Terminal aufgelistet werden. Hierbei handelt es sich jedoch um eine einmalige Aufzählung der Schriftarten.

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


Als Randnotiz: Wenn Sie nur den Befehlsnamen in Terminal eingeben und dann mit der rechten Maustaste darauf klicken und Manpage öffnen auswählen , wird dieser in einem vollständig scrollbaren und durchsuchbaren Terminalfenster angezeigt , das viel besser ist als z man bash.

user3439894
quelle