¿Cómo se hace una búsqueda que no distingue entre mayúsculas y minúsculas usando un modificador de patrón con menos?

303

Parece que la única manera de hacer esto es pasar el parámetro -i cuando inicialmente ejecutas menos. ¿Alguien sabe de algún truco secreto para hacer que algo como esto funcione?

/something to search for/i
mk.
fuente

Respuestas:

442

También puede escribir el comando -Imientras se ejecuta menos. Alterna mayúsculas y minúsculas para las búsquedas.

Juha Syrjälä
fuente
49
-i significa ignorar mayúsculas y minúsculas en las búsquedas que no contienen mayúsculas, mientras que -I ignora mayúsculas y minúsculas en todas las búsquedas.
Constantino Cronemberger
14
"ignorar mayúsculas y minúsculas en búsquedas que no contienen mayúsculas" se llama "mayúsculas y minúsculas" en vim y ack. Agregando esto aquí para googlability.
Andy Lester
@HelloGoodbye, no "ejecutas un comando", solo escríbelo, la fraseo también me confundió.
xception
-Icomo en literalmente escribir -Icon menos abierto.
Dylan Landry
108

También puede establecer la variable de entorno LESS

Lo uso LESS=-Ri, para poder bombear resultados coloreados desde grepél y mantener las secuencias de color ANSI.

Otra característica poco utilizada de less que encontré es comenzar con +Fun argumento (o presionar SHIFT+ Fmientras está en menos). Esto hace que siga el archivo que ha abierto, de la misma manera que lo tail -f <file>hará. Muy útil si está viendo archivos de registro desde una aplicación y es probable que desee volver a la página (si genera cientos de líneas de registro cada segundo, por ejemplo).

San Miguel
fuente
3
Seguir con menos es MUCHO más útil que con cola. Especialmente registros con mucha acción.
Svish
66
@Svish Se podría decir que lesses más :)
Martin Konecny
66
@MartinKonecny lesspuede ser más, pero lessno se moredeja solomost
sanmiguel
@sanmiguel No sabía más, lo probé y el desplazamiento lateral es realmente genial, gracias
ᐅ devrimbaris
Me gustaría utilizar less +F --follow-name some.file. +FSolo no funciona para mí.
WesternGun
34

Complemento a lo que dijo @Juha: en realidad, se -iactiva la distinción entre mayúsculas y minúsculas con SmartCasing, es decir, si su búsqueda contiene una letra mayúscula, la búsqueda distingue entre mayúsculas y minúsculas, de lo contrario, no distingue entre mayúsculas y minúsculas. Piensa en ello como :set smartcaseen Vim.

Por ejemplo: con -i, una búsqueda de 'log' en 'Log, ..' coincidirá, mientras que 'Log' en 'log, ..' no coincidirá.

Antony Thomas
fuente
17
En realidad, si alguna letra, no solo la primera, es mayúscula, la búsqueda será sensible a mayúsculas y minúsculas. Una diferencia importante (e indicentalmente cómo prefiero que sea). Así es también como funciona la funda inteligente de vim.
Johannes Hoff el
En Vim también puedes decir /\clogque cambies a búsqueda entre mayúsculas y minúsculas.
Darko Veberic
12

Parece que puede invocar esta función por búsqueda de la siguiente manera:

less prompt> /search string/-i

Esta opción está en lessla ayuda interactiva a la que accede a través de h:

less prompt> h
...
  -i  ........  --ignore-case
                  Ignore case in searches that do not contain uppercase.
  -I  ........  --IGNORE-CASE
                  Ignore case in all searches.
...

No lo he comprobado exhaustivamente, pero la ayuda en la lessversión 487 en MacOS, así como en otras distribuciones de Linux, enumera esta opción como disponible.

En MacOS también puede instalar una versión más reciente de a lesstravés de brew:

$ brew install less
$ less --version
less 530 (POSIX regular expressions)
Copyright (C) 1984-2017  Mark Nudelman

Referencias

slm
fuente
@IlikeSerena: puede ser un problema con versiones específicas de less.
slm
@slm, ¿en qué lesste probaste esto? No funciona en mi less 458 (GNU regular expressions)(aptitud dice less 458-2FWIW)
hdl
@hdl: actualmente no tengo acceso al sistema, pero estaba en cualquier versión lessincluida con Fedora 19/20.
slm
@slm Gracias, probablemente una versión más reciente que 458-2, como 458-6, ya que esta en particular fue creada para Fedora el 10/02/2014 según koji.fedoraproject.org/koji/packageinfo?packageID=759 y desde publicaste esto el 22 de febrero de 2014 ...
hdl el
No funciona en mac con menos 487 (expresiones regulares POSIX)
Sumit Jain
11

Cuando use el indicador -i, asegúrese de ingresar la cadena de búsqueda completamente en minúscula, porque si alguna letra es mayúscula, entonces es una coincidencia exacta.

Ver también: la bandera -I (mayúscula i) de menos (1) para cambiar este comportamiento.

joe
fuente