¿Cómo obtener el párrafo para cierta opción de comando de inmediato?

8

Por ejemplo, en lugar del manual completo de apt-getQuiero saltar a la -fopción desde el indicador de terminal de inmediato, sin usar la búsqueda en la página de manual.

RS
fuente
1
@METRO. Becerra mi pregunta es más amplia.
RS
@Becerra No solo es una pregunta más amplia, sino que también es una pregunta diferente, porque RS quiere devolver el párrafo completo de una opción en los resultados de man, en lugar de devolver una lista desordenada de líneas separadas.
karel

Respuestas:

6

El buscapersonas predeterminado utilizado por manes less. Puede pasar el patrón de búsqueda ERE (Expresión regular extendida) que lo lesscomprende directamente a través de la LESSvariable de entorno, en su caso lo siguiente debería hacer:

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

Esto es exactamente lo mismo que pasar /-fdespués de hacer man apt-get.

Ahora, esto resaltaría todos los correos -felectrónicos de la manpágina, para saltar directamente a la opción deseada, es decir -f, puede aprovechar ERE para que coincida solo con las líneas que comienzan con espacios / pestañas, seguido de -f:

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

Aunque esto funcionaría aquí, podría no ser preciso para todas las páginas, ya que coincidirá con todo lo que comience -fdespués de los espacios / pestañas iniciales. Ajuste el patrón un poco para satisfacer sus necesidades en esos casos.

Puede crear una pequeña función para pasar el patrón de búsqueda y la manpágina para buscar como argumentos, si lo hace con frecuencia.

heemayl
fuente
9

Escriba una barra diagonal, lo que está buscando, y luego presione Intro. Saltará a la primera aparición. Presione Npara pasar al siguiente evento y Bregresar. Entonces, en este caso:

/-f <enter>
James
fuente
44
Intenta agregar un par de espacios antes del guión. La mayoría de las veces, las opciones están sangrados y que debe ir directamente a la opción: / -f. Esto debería evitar cualquier uso en línea de -f.
transistor1
1

Use sedpara mostrar el párrafo completo de una opción que comienza con un guión. Para mostrar el párrafo completo de la -fopción de inmediato ejecutando un solo comando, use:

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.  

Esto devuelve el párrafo completo para la -fopción en man, apt-getpero el comando anterior se puede mejorar eliminando la coma después -fpara que sea más útil de la siguiente manera:

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

Esto devuelve varios párrafos, la mayoría de los cuales no desea leer. Al leer las primeras líneas de los múltiples párrafos, puede ver que desea mostrar solo el párrafo que contiene la -f, --fix-brokenopción. Haga esto de la siguiente manera:

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. 

Esto devuelve solo la salida que desea leer. Este método funciona con cualquier otra opción que comience con un guión, y también funciona generalmente para buscar opciones que comiencen con un guión en otros comandos además de apt-gettambién.

Mostrando información adicional con sed

Si la descripción de un párrafo no proporciona suficiente información, el siguiente comando mostrará el primer párrafo igual que el comando anterior y los siguientes párrafos también.

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

Los resultados de este comando muestran que los siguientes párrafos no son muy interesantes, pero para algunas opciones los siguientes párrafos también son interesantes. Es por eso que este también es un comando útil para saber.

karel
fuente