Búsqueda insensible a mayúsculas y minúsculas en páginas man
18
¿Hay alguna manera de buscar páginas de manual sin distinción entre mayúsculas y minúsculas? El uso de la función de búsqueda '/' coincide con el caso exacto.
No existe tal cosa como "buscar en la página del manual". En realidad, es la búsqueda en el buscapersonas la que muestra la página del manual. Depende de la manimplementación que use y del localizador que prefiera, pero yo sí export MANPAGER='less -I'.
manatwork
El punto de @ manatwork es que eso -Isignifica --IGNORE-CASE, even if the pattern contains uppercase letters, ver man less.
terdon
Respuestas:
18
Cuando no se especifica ningún otro localizador, se manutiliza lesspara mostrar páginas de manual.
Las otras respuestas que implican cambiar la línea de comando del localizador son correctas, pero también puede escribir -imientras se ejecuta menos. Desde la página de menos man:
- Seguido por una de las letras de opción de línea de comando (ver OPCIONES a continuación), esto cambiará la configuración de esa opción e imprimirá un mensaje que describe la nueva configuración.
Solo si usa mayúsculas, no si solo usa letras minúsculas. Por ejemplo, ejecuta man bashy prueba:
/invoc <== mayúsculas y minúsculas
/Invoc <== mayúsculas y minúsculas
/INVOC <== mayúsculas y minúsculas
Como @manatwork señaló en los comentarios, también puede controlar este comportamiento agregando export MANPAGER='less -I'a su ~/.profile. La MANPAGERvariable define qué programa se usa con el mancomando. Los -Imedios (de man less):
-I or --IGNORE-CASE
Like -i, but searches ignore case even if the pattern contains
uppercase letters.
Otras opciones relevantes son (esta suele estar activada por defecto):
-i or --ignore-case
Causes searches to ignore case; that is, uppercase and lowercase
are considered identical. This option is ignored if any upper‐
case letters appear in the search pattern; in other words, if a
pattern contains uppercase letters, then that search does not
ignore case.
Por lo tanto, si puede export MANPAGER="less -I"; man bash, debería poder buscar /iNvOcsin distinción entre mayúsculas y minúsculas.
+1 ¿Sabes cómo se puede forzar la distinción entre mayúsculas y minúsculas en un patrón de búsqueda en minúsculas?
Joseph R.
@JosephR. man bash | grep -C 5 invocPero eso es trampa.
terdon
Sí, no es exactamente la respuesta que estaba buscando. Esto puede valer otra pregunta por sí mismo ...
Joseph R.
1
@JosephR. aparentemente , puede compilar lesspara usar PCRE que podrían ser el truco.
terdon
La distinción entre mayúsculas y minúsculas solo parece ser verdadera si se especifica "-i" en la línea de comando. Sin él, todas las búsquedas distinguen entre mayúsculas y minúsculas.
man
implementación que use y del localizador que prefiera, pero yo síexport MANPAGER='less -I'
.-I
significa--IGNORE-CASE, even if the pattern contains uppercase letters
, verman less
.Respuestas:
Cuando no se especifica ningún otro localizador, se
man
utilizaless
para mostrar páginas de manual.Las otras respuestas que implican cambiar la línea de comando del localizador son correctas, pero también puede escribir
-i
mientras se ejecuta menos. Desde la página de menos man:Por lo tanto, escribir
-i
con menos cambios cambia la configuración de la misma manera que especificarlo en la línea de comando. Recibí la pista de que esto funcionaría de Cómo hacer una búsqueda que no distinga entre mayúsculas y minúsculas usando un modificador de patrón con menos , luego encontré la explicación en la página del manual.fuente
Solo si usa mayúsculas, no si solo usa letras minúsculas. Por ejemplo, ejecuta
man bash
y prueba:/invoc
<== mayúsculas y minúsculas/Invoc
<== mayúsculas y minúsculas/INVOC
<== mayúsculas y minúsculasComo @manatwork señaló en los comentarios, también puede controlar este comportamiento agregando
export MANPAGER='less -I'
a su~/.profile
. LaMANPAGER
variable define qué programa se usa con elman
comando. Los-I
medios (deman less
):Otras opciones relevantes son (esta suele estar activada por defecto):
Por lo tanto, si puede
export MANPAGER="less -I"; man bash
, debería poder buscar/iNvOc
sin distinción entre mayúsculas y minúsculas.fuente
man bash | grep -C 5 invoc
Pero eso es trampa.less
para usar PCRE que podrían ser el truco.