¿Por qué es "menos" mucho más lento que "grep"?

12

A veces tengo que buscar archivos que son varios conciertos y me he dado cuenta de que encontrar lo que estoy buscando con grep es mucho más rápido que con menos. ¿Por qué podría ser eso? Estoy hablando de buscar una determinada etiqueta / palabra, ni siquiera una expresión regular complicada.

naumcho
fuente
No es una respuesta, pero ¿ha considerado usar grep y luego una tubería para pasar los resultados a menos?
ridogi
1
Sí, generalmente uso grep con -A / B / C para obtener un contexto en torno a lo que estoy buscando, pero a veces necesito más flexibilidad ya que estoy buscando archivos de registro y necesito poder desplazarme y buscar gradualmente desde allí en adelante. / before
naumcho

Respuestas:

9

Por defecto, 'menos' calcula los números de línea, lo que puede ralentizarlo. Intente usar la opción '-n' para suprimir los cálculos del número de línea y ver si eso acelera las cosas.

Jon Lasser
fuente
2
Creo que el recuento de líneas ocurre una vez que grep ha encontrado su coincidencia, luego ve "Cálculo de números de línea" y toma un tiempo antes de que le permita hacer algo, pero puede cancelarlo con ctrl + c. No parece que -n ayude con la velocidad de búsqueda real.
naumcho
Eso hizo el truco para mí. Noté una gran diferencia (como en decenas de segundos frente a la respuesta instantánea) al abrir un archivo de registro de casi 10 GB y presionar la tecla Mayús G para llegar al final del archivo.
Marcello Romani
@MarcelloRomani shift-G no tiene nada que ver con la búsqueda
Martin Konecny