Actualmente estoy revisando muchos registros desconocidos en busca de algunos problemas. El primer archivo que miro es Events.log, y obtengo al menos tres páginas en las lessque parece que se muestra el mismo evento en diferentes momentos, un evento que parece ser bastante benigno. Me gustaría filtrar este evento, y actualmente renuncio lessy hago algo como
grep -v "event text" Events.log | less
Esto ahora trae una serie de otros eventos comunes y poco interesantes que también me gustaría filtrar. ¿Hay una manera que puede grep -v dentro de less? En lugar de tener que hacer
egrep -v "event text|something else|the other thing|foo|bar" Events.log | less
Me parece una característica útil al mirar cualquier tipo de archivo de registro, y si lessno es la herramienta, ¿hay otra con las cualidades que busco? Solo un lessvisor con estilo incorporado grep.

less, el uso de '&! <1stpattern>' me permite 'ocultar' líneas con un patrón, sin embargo, solo se aplica a un patrón a la vez, por lo que si encuentro un segundo patrón y aplico '&! <2ndpattern>', las líneas que coincidían con el primer patrón y estaban ocultas, ahora son visibles. ¡Muy cerca!&!y luego presione una tecla de flecha.less; Sin embargo, no sé si se conserva después del reinicio.Sobre la base de la respuesta de Orión , la
less(1)página del manual describe(Por supuesto ,
^Ny^E, etc., representan Ctrl+ Ny Ctrl+ E, etc.)Resulta que y funcionan bien juntos. Por ejemplo, los comandos
&pattern/pattern&!arp|dnsEnter/Ctrl+Kfail|fatal|fault|sd[a-z][0-9]Enterescrito en cualquier orden, ocultará (excluir) todas las líneas que contienen
arpodns(comogrep -v), y luego, en el resto de líneas, ponen de manifiesto todas las apariciones defail,fatal,fault, o cualquier cosa que se ve como el nombre de un dispositivo SCSI (sd[a-z][0-9]). Tenga en cuenta que las líneas que contienenarpodns, y tambiénfailo cualquiera de las otras palabras de peligro, no se mostrarán.fuente
En los últimos meses, me he enamorado un poco
fzf.En su caso, siempre y cuando no se necesita contexto (es decir, el equivalente a grep
-A,-Bo-Cno es necesario, y por cierto, a menos que está&también tiene la misma limitación), entonces fzf es una herramienta muy poderosa.Aquí hay un ejemplo tonto:
Si ejecuta eso y juega con entradas como,
aa | bb dd | ee !gg !hhetc., verá rápidamente lo que está sucediendo.La documentación de Fzf sobre el
|operador es escasa, pero mi mejor suposición es que solo se aplica a los términos inmediatamente antes y después, lo que significa, en efecto, que OR tiene prioridad sobre AND (que está implícito ; todos los términos son AND-ed por defecto) . Pero en la mayoría de los casos esto no debería ser un problema, y las cosas funcionan bien en mi experiencia.Dale un tiro. Lo he encontrado sorprendentemente útil cuando se trata de buscar cosas cuando no estoy realmente seguro de lo que estoy buscando y cuando el contexto no importa.
fuente