Menos es mas con less… Visualización de archivos pesados

Una de las aspectos que mas me atraen de Linux es que nunca paras de aprender. Cuando crees que has cogido un poco de nivel, descubres algo nuevo que te hace volver a la realidad, y es que cuanto me queda por aprender. Cuanto me queda por aprender en esta vida en general, y de GNU/Linux en particular. ¿Y porque te cuento esto? Todo la culpa la tiene en esta ocasión less.

Hace unos quería revisar un archivo realmente pesado…, tan pesado que ni siquiera Vim era capaz de hacerse con él. La cuestión es que, lo que quería ver de ese fichero estaba mas o menos al final del mismo. Así que empecé a idear a ver como lo hacía. Pero, no era necesario reinventar la rueda. La solución la tenía al alcance de los dedos y tan sencillo como less.

Lo cierto, es que desconocía la funcionalidad, de less, siempre he utilizado more, por aquello de que por ser more será mejor (perdón por el chiste fácil). Y sin embargo estaba totalmente equivocado.

Menos es mas con less... Visualización de archivos pesados

less o menos es mas

No creas que el juego de palabras es mío, nada mas lejos de la realidad. El juego de palabras es cosa del autor de esta maravilla. Mark Nudelman, el desarrollador inicial de esta aplicación, la implementó para dotarla de las funcionalidades que no tenía more, y le puso el nombre de less, pensando en el juego de palabras de menos es mas o menos es mas, mas o menos.

La principal funcionalidad que añadió a less, es la de poder navegar por el archivo que estamos mostrando. Es decir, con less, nos podemos mover hacia adelante y hacia atrás, mientras consultamos el archivo.

Otra de las características que hacen de less una herramienta realmente potente, es que no tiene que cargar el archivo completo antes de empezar.

Características

Algunas de las características mas interesantes que nos ofrece esta herramienta son las siguientes,

  • Permite la navegación por el documento. Tanto hacia adelante como hacia atrás, como lateralmente.
  • Puedes realizar búsquedas de cadenas de texto. Pero no solo esto, sino que además te permite la búsqueda de expresiones regulares. A esto le tienes que añadir el resaltado de resultados.
  • Podrás cargar varios archivos, y cambiar de uno a otro. La ventaja es que en todo momento te guarda la posición que tenías en cada uno de ellos. Además te permite hacer una búsqueda en todos los archivos de forma simultánea. Así comenzará mostrando los resultados en un archivo e irá pasando al resto de archivos.

Ahora bien, para poder sacarle el máximo provecho a esta herramienta, es necesario conocer los atajos de teclado. Sin conocer los atajos de teclado es como si estuvieras utilizando more y desde luego con less puedes conseguir mucho mas (perdón por abusar del juego de palabras).

Conociendo less en mas profundidad

Me vas perdonar, pero no puedo evitar seguir con el juego de palabras.

Los atajos de teclado

  • para desplazarte arriba
  • te desplazas abajo
  • con esta te desplazas a la izquierda
  • te desplazas a la derecha
  • g para desplazate a la primera línea
  • G te desplazas a la última línea
  • Las teclas de avance y retroceso de página, así como las de inicio y fin se comportan como esperas.
  • [número]g, es decir, un número seguid de la letra g desplazará el cursor hasta la línea número [número]. Por ejemplo 12g te moverá hasta la línea 12.
  • /[patrón] te permite buscar una cadena o una expresión regular. Así por ejemplo para buscar casa, utilizaremos /casa. Si queremos buscar casa y cosa podemos utilizar la expresión regular /^c[ao]sa$. En esta caso nos permite buscar desde el principio del archivo al final.
  • ?[patron]. Al igual que en el caso anterior, nos permite buscar cadenas de texto y patrones. Pero, por contra, nos permite buscar del final del archivo al principio. Así los atajos de teclado que de desplazamiento se comportarán igualmente, pero en el sentido contrario.
  • n y N nos permite desplazarnos entre los resultados de una búsqueda. Con n iremos a la siguiente coincidencia, mientras que con N iremos a la coincidencia anterior. Utilizando ESC-n y ESC-N el comportamiento será el opuesto.
  • m[letra] m seguido de una letra nos permite establecer una marca. Esta marca nos permite volver fácilmente a esta posición del documento.
  • Para desplazarnos entre marcas, establecidas según el punto anterior, tenemos que utiliza '[letra]. De esta manera para hacer una marca con la letra a, pulsaremos ma y para posteriormente ir a esa marca 'a. Sencillo y efectivo.
  • h te mostrará la ayuda.
  • q para salir de less.

Estos son algunos de los atajos de teclado que te permite hacer less. Hay bastantes mas, por lo que te recomiendo que utilices la ayuda para descubrirlos todos.

Por otro lado, además de los atajos de teclado, tienes una gran cantidad de opciones para configurar less desde la línea de comandos. No te lo puedes perder, la cantidad de posibilidades que te ofrece es espectacular.

Seguimiento de logs

Una utilidad realmente interesante de esta herramienta es la posibilidad de seguir de forma dinámica un archivo. Es decir, ver los cambios que se van produciendo en el archivo conforme se van produciendo.

Para hacer esto, tienes que ejecutar less con la opción +F, por ejemplo, less +F /var/log/syslog. De esta forma puedes seguir lo que se va produciendo en este archivo.

En el caso de que quieras buscar algo, puede detener el seguimiento con Ctrl+c. Una vez terminada la búsqueda, puedes continuar con la misma, posteriormente con Mayúsc+f.

Conclusiones

Si no conoces less te recomiendo que le des una oportunidad. Si trabajas habitualmente con registros de tamaño considerable, es una herramienta a tener muy en cuenta, porque te ofrece unas posibilidades espectaculares.

Simplemente la posibilidad de buscar mediante una expresión regular desde el final del archivo hacia el principio, ya hace que valga la pena que te plantees su utilización.

Sinceramente una herramienta a tener muy, pero que muy presente.


Más información,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *