Come ottenere subito il paragrafo per una certa opzione di comando?


8

Ad esempio, invece di tutto il manuale di apt-getvoglio passare subito -fall'opzione dal prompt del terminale, senza usare la ricerca nella manpage.



1
@M. Becerra la mia domanda è più ampia.
RS

@Becerra Non solo è una domanda più ampia, ma è anche una domanda diversa, perché RS vuole restituire l'intero paragrafo di un'opzione nei risultati di man, invece di restituire un elenco confuso di righe separate.
Karel,

Risposte:


6

Il cercapersone predefinito utilizzato da manè less. È possibile passare il modello di ricerca ERE (Extended Regular Expression) che lesscomprende direttamente tramite la LESSvariabile di ambiente, nel qual caso è necessario:

LESS='+/-f' man apt-get

Questo è esattamente come passare /-fdopo averlo fatto man apt-get.

Ora, questo evidenzierebbe tutte le -fs nella manpagina, per passare direttamente a quella desiderata, ad esempio l'opzione -f, puoi sfruttare ERE per abbinare solo le linee che iniziano con spazi / tab, seguite da -f:

LESS='+/^[[:blank:]]+-f' man apt-get

Anche se questo farebbe qui, ma potrebbe non essere preciso per tutte le pagine, poiché corrisponderà a tutto ciò che inizia -fdopo gli spazi / le schede iniziali. Modifica leggermente il motivo per soddisfare le tue esigenze in questi casi.

Puoi creare una piccola funzione per passare il modello di ricerca e la manpagina da cercare come argomenti, se lo fai spesso.


9

Digitare una barra, l'elemento che si sta cercando, quindi premere Invio. Passerai alla prima occorrenza. Premere Nper passare alla ricorrenza successiva e Bper tornare indietro. Quindi, in questo caso:

/-f <enter>

4
Prova ad aggiungere un paio di spazi prima del trattino. Il più delle volte, le opzioni sono rientrati e che dovrebbe saltare diritto di scelta: / -f. Questo dovrebbe bypassare qualsiasi utilizzo in linea di -f.
transistor1

1

Utilizzare sedper mostrare l'intero paragrafo di un'opzione inizia con un trattino. Per mostrare subito l'intero paragrafo -fdell'opzione eseguendo un singolo comando, utilizzare:

man apt-get | sed -n '/-f,/,/^$/p'
   -f-,--no-f, -f=no or several other variations.

   -f, --fix-broken
       Fix; attempt to correct a system with broken dependencies in place.
       This option, when used with install/remove, can omit any packages
       to permit APT to deduce a likely solution. If packages are
       specified, these have to completely correct the problem. The option
       is sometimes necessary when running APT for the first time; APT
       itself does not allow broken package dependencies to exist on a
       system. It is possible that a system's dependency structure can be
       so corrupt as to require manual intervention (which usually means
       using dpkg --remove to eliminate some of the offending packages).
       Use of this option together with -m may produce an error in some
       situations. Configuration Item: APT::Get::Fix-Broken.  

Questo restituisce l'intero paragrafo per l' -fopzione in man apt-getma il comando sopra può essere migliorato eliminando la virgola dopo -fper renderla più generalmente utile come segue:

man apt-get | sed -n '/-f/,/^$/p'

Ciò restituisce più paragrafi, la maggior parte dei quali non si desidera leggere. Leggendo le prime righe di più paragrafi, puoi vedere che vuoi mostrare solo il paragrafo che contiene l' -f, --fix-brokenopzione. Fai come segue:

man apt-get | sed -n '/--fix-broken/,/^$/p'
   -f, --fix-broken
       Fix; attempt to correct a system with broken dependencies in place.
       This option, when used with install/remove, can omit any packages
       to permit APT to deduce a likely solution. If packages are
       specified, these have to completely correct the problem. The option
       is sometimes necessary when running APT for the first time; APT
       itself does not allow broken package dependencies to exist on a
       system. It is possible that a system's dependency structure can be
       so corrupt as to require manual intervention (which usually means
       using dpkg --remove to eliminate some of the offending packages).
       Use of this option together with -m may produce an error in some
       situations. Configuration Item: APT::Get::Fix-Broken. 

Ciò restituisce solo l'output che si desidera leggere. Questo metodo funziona con qualsiasi altra opzione che inizia con un trattino, e funziona anche generalmente per cercare opzioni che iniziano con un trattino in altri comandi oltre a quello apt-get.

Mostra informazioni aggiuntive con sed

Se la descrizione di un paragrafo non fornisce informazioni sufficienti, il comando seguente mostrerà il primo paragrafo come il comando precedente e anche i paragrafi successivi dopo di esso.

LESS='+/^[[:space:]]*-f' man apt-get  

I risultati di questo comando mostrano che i paragrafi successivi non sono molto interessanti, ma per alcune opzioni anche i paragrafi successivi sono interessanti. Ecco perché anche questo è un comando utile da sapere.

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.