En Unix "menos", ¿puedo saltar a la siguiente línea que NO contiene X?

21

En la lessherramienta Unix , ¿es posible saltar a la siguiente línea que no contiene una cierta expresión?

A veces tengo que revisar los archivos que contienen miles de líneas adyacentes similares que, por ejemplo, dicen "Calcular algo " y estoy interesado en la siguiente línea después del bloque actual, que no contiene la palabra "Computación".

Dehmann
fuente

Respuestas:

29

Sí, esta es una funcionalidad de búsqueda no coincidente, por ejemplo:

less file.conf

luego escribe /y luego !su última línea debería verse así:

Non-match /

luego escriba su patrón, por ejemplo, Non-match /^#para buscar la primera línea sin comenzar#

En lugar de !personaje también puedes usar Ctrl+N.

Codificador casual
fuente
1
Esto es perfecto. No podría haber esperado una mejor respuesta.
dehmann
4

Como una adición a la respuesta de Casual Coder:

También puede filtrar las líneas por completo:

<logfile grep -v mypattern |less 

La desventaja es que debe salir y reiniciar grep para cambiar el patrón; La ventaja es que las líneas que no desea ver están ocultas, lo que hace que sea más fácil detectar patrones interesantes en las líneas que le interesan.

sleske
fuente
1

No solo puede saltar entre líneas que no contienen X, también puede ocultar las líneas que sí contienen X, utilizando lessel &comando de filtro de expresiones regulares.

less file.conf

luego escriba &!^Computingla enterclave y todas esas líneas se ocultarán de la vista.

Aún puede buscar dentro de las líneas restantes con /.

Una vez que encuentre la línea que desea, puede traer de vuelta a los demás si necesita su contexto: escriba &la entertecla para eliminar el filtro.

Wil
fuente