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 less
que 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 less
y 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 less
no es la herramienta, ¿hay otra con las cualidades que busco? Solo un less
visor 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 ,
^N
y^E
, etc., representan Ctrl+ Ny Ctrl+ E, etc.)Resulta que y funcionan bien juntos. Por ejemplo, los comandos
&pattern
/pattern
&!arp|dns
Enter/
Ctrl+Kfail|fatal|fault|sd[a-z][0-9]
Enterescrito en cualquier orden, ocultará (excluir) todas las líneas que contienen
arp
odns
(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 contienenarp
odns
, y tambiénfail
o 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
,-B
o-C
no 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 !hh
etc., 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