Copia tutto il testo di un'intera pagina `man` da Terminal.app


20

Sto leggendo una pagina man molto lunga ( man ssh). Voglio salvare tutto quel testo per una lettura più comoda in un editor di testo.

Sfortunatamente, scegliendo uno di:

  • Modifica → Seleziona tutto → Copia

  • Shell → Esporta testo come ...

porta a salvare solo uno schermo pieno del testo, non tutto il testo che scorre.

Come estraggo il testo di un'intera manpagina?


Esiste un'app gratuita di terze parti Man Reader. Apre una finestra con un elenco a sinistra di tutte le possibili pagine man. Quando ne selezioni uno, stampa il contenuto nel riquadro centrale. Molto carino.
Jmh

Risposte:


25

È possibile inviare il testo normale negli Appunti eseguendo il piping su pbcopy, per incollarlo ovunque come al solito.

man ssh | col -b | pbcopy

o equivalente

man -P "col -b | pbcopy" ssh

l'ultimo dei quali è più bello se vuoi usarlo come alias, come mancp ssh, dato:

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

Esistono metodi per passare a HTML / PDF: le pagine man possono essere convertite in formato html e / o pdf?


Se è solo l'esperienza di lettura migliore che stai cercando, puoi fare clic con il tasto destro su una selezione di un comando e aprire la sua pagina man come una finestra / scheda separata, con scorrimento normale e ⌘F find.

Lettura migliore

È possibile personalizzare l'aspetto di questo in Preferenze terminale → Profili, sotto il profilo della pagina man che è uno dei profili predefiniti esistenti.
Ciò include la famiglia di caratteri e le dimensioni (vedere anche il menu Visualizza) e i colori di sfondo / primo piano.

Preferenze del profilo della pagina man


2
Il clic destro per la pagina man non funziona con iTerm. Sulla mia macchina funziona con il terminale. La finestra tremolò, immagino 10 volte al secondo. Potrei fermarlo facendo clic ma non sapevo dove stavo facendo clic ...
jmh

@jmh Sembra essere un bug del Mojave, questo sfarfallio,
ce l'

1
pbcopye pbpastesono due delle maggiori utility disponibili su Macos.
Christopher Schultz,

1
Grazie! Tutte le risposte sono informative e utili, ma ho dovuto accettare questo. La man ssh | col -b | pbcopysoluzione affronta direttamente i dettagli della mia domanda. E poi, come ciliegina sulla torta, il lettore di pagine man incorporato di Terminal.app batte questo per facilità d'uso.
Basil Bourque,

Un'utile espansione della tua soluzione può anche includere la larghezza della colonna e / o aprirla direttamente nell'editor di testo preferito, ad esempio: MANWIDTH=80 MANPAGER="col -bx" man tmutil | open -fa "TextMate"
Asmus

13

Se vuoi leggere la pagina man in Anteprima, ben formattata come PDF, puoi eseguirla

man -t ssh | open -f -a Preview

O

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

per aprire la versione testuale in TextEdit.


6

Inoltra l'output standard del mancomando in esecuzione colall'utilità integrata . Esegui la seguente riga di comando:

man ssh | col -b > ssh.txt


@BasilBourque Ho trovato anche questo meraviglioso articolo.
Nimesh Neema,

4

La migliore esperienza di lettura per questi compiti si ottiene quando si utilizza un'applicazione dedicata per questo.

Due candidati:

Aqualess

AquaLess è un cercapersone di testo per Mac OS X. Consente di sfogliare file di testo semplice e, soprattutto, output di testo dagli strumenti della riga di comando di Unix. AquaLess è un sostituto di Cocoa per il comando less, vincolato alla finestra del terminale. AquaLess apre una finestra separata per ogni testo, così puoi continuare a lavorare nel terminale mentre leggi.

O ManOpen

ManOpen è un'applicazione GUI di MacOS X per la visualizzazione di pagine di manuale di Unix, che sono la documentazione standard per i programmi della riga di comando di Unix, le librerie dei programmatori e altre informazioni di sistema. Può aprire i file direttamente o ricevere titoli, nel qual caso visualizzerà l'output dal programma della riga di comando "man". Viene inoltre fornita un'interfaccia apropos, che è fondamentalmente una ricerca rapida e sporca dei database delle pagine man. I servizi sono forniti ad altre applicazioni per aprire file / titoli selezionati o fare ricerche apropos usando il testo selezionato. ManOpen può essere utile per aprire una pagina man senza passare alla riga di comando, sfogliare e cercare pagine man lunghe e complesse o semplicemente per stamparle.

Inoltre è incluso uno strumento da riga di comando `openman ', che è simile a man tranne che mostrerà le pagine man in ManOpen.app invece che direttamente al terminale.

O leggi quelle pagine in Safari? Quindi vai a Bwana

Scarica Bwana e rilascialo nella cartella delle applicazioni. Quindi, senza nemmeno eseguirlo, puoi iniziare a visualizzare le pagine di manuale di Unix usando il tuo browser. Digita "man:" seguito dalla pagina man che stai cercando nel campo dell'URL del tuo browser. Premi invio e lascia che Bwana faccia il resto.

Le pagine man generate da Bwana sono semplici e mirate. Abbiamo appena gettato un po 'di colore, alcune intestazioni audaci e ripulito un po', in modo che siano facili da vedere. In effetti, Bwana è così semplice: non c'è molto altro che possiamo dire al riguardo. Quindi scarica subito Bwana per vedere come si integra facilmente con il tuo browser e quale differenza fa nella visualizzazione delle pagine man.

È quindi possibile creare una funzione shell per questo in questo modo:

function sman
    open -a Bwana man:$1
end

Per completezza: se hai installato X11, allora hai anche xman.

Altri candidati potrebbero essere Man Reader ($) , Manpager , Manpower ($) , Man Viewer .


3

Perché rendere le cose più complicate di quanto non siano?

https://man.openbsd.org/ssh

Dal momento che puoi pubblicare qui, ovviamente hai accesso a Internet.

Se cerchi un po 'su Google puoi probabilmente trovare versioni formattate in diversi modi, ad esempio pdf o simili.


4
+1 per il pragmatismo anche se ora devi capire quale versione della pagina man stai cercando, a volte (per i vari strumenti in cui gli argomenti della riga di comando sono diversi tra ad esempio Linux e BSD, o dove le cose sono cambiate molto tra le versioni )
soffice

e oltre ai commenti di @ fluffy, questo non funzionerà con alcuno strumento macOS di cui ce ne sono molti, ad esempio tmutil per Time Machine.
grg

1
db

1
È un sito diverso, ci sei riuscito cercando dal tuo link nel post o solo da Google? Sono consapevole che ci sono molte pagine man online, incluso il riferimento per gli sviluppatori di Apple che in effetti contiene una pagina man di tmutil, ma allora questa risposta non è altro che "Google it"?
grg

@grg L'ho ricevuto da Google. Sì, ma lo scopo della domanda era semplificare la lettura delle pagine man e delle pagine Web è un buon modo per raggiungere questo obiettivo.
db

2

Se ti piace avere copie PDF delle tue pagine di manuale, ecco una funzione che ho aggiunto al mio .bash_profilefile per creare un PDF di ogni comando BSD che controllerei 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, in Terminale , la digitazione, ad esempio, manp bashanziché man bashun PDF viene creata, se non è già stata, e quindi aperta dall'app registrata per gestire i documenti PDF . L' impostazione predefinita è Anteprima , tuttavia sul mio sistema è impostato per utilizzare Skim , poiché la sua funzionalità di ricerca è migliore di Anteprima e, di fatto, troverà la stringa di ricerca quando Anteprima non lo farà.

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

La cosa bella delle copie PDF è che mantiene la formattazione, ovvero grassetto e corsivo, ecc.


Come nota a margine, digitando solo il nome del comando in Terminale, quindi fare clic con il pulsante destro del mouse su di esso e selezionare Apri man page , lo visualizza in una finestra Terminale completamente scorrevole e ricercabile , che è molto meglio di digitare ad es man bash.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.