Programación y sistemas

7 comandos para leer las últimas 10 líneas de un archivo en Linux

Leer las últimas líneas de un archivo en Linux es una tarea común, especialmente cuando trabajas con registros de sistemas (logs) o archivos de texto extensos. Linux ofrece múltiples maneras de lograrlo, desde comandos básicos hasta combinaciones más avanzadas. A continuación, te presentamos siete comandos esenciales para obtener las últimas 10 líneas de un archivo.


1. tail

El comando más conocido y directo para esta tarea es tail. Este comando está diseñado específicamente para mostrar las últimas líneas de un archivo.

tail -n 10 archivo.txt

Si deseas omitir el argumento -n, tail asume por defecto que necesitas las últimas 10 líneas:

tail archivo.txt

2. head combinado con tac

Aunque head generalmente se usa para mostrar las primeras líneas de un archivo, puedes invertir el orden del archivo con tac y luego extraer las primeras 10 líneas.

tac archivo.txt | head -n 10

Esto es útil si necesitas procesar los datos de manera personalizada.


3. awk

awk es una herramienta poderosa para manipular texto. Puedes usarlo para contar las líneas y luego extraer las últimas 10.

awk 'NR > (NR-10)' archivo.txt

Sin embargo, este comando puede ser más útil si necesitas un filtrado o procesamiento adicional.


4. sed

sed también permite acceder a las últimas líneas de un archivo. Primero, puedes contar el número total de líneas y luego restar 10 para imprimir desde ese punto.

sed -n "$(($(wc -l < archivo.txt) - 9)),\$p" archivo.txt

Aunque más complejo, este enfoque puede integrarse fácilmente en scripts.


5. grep

grep, en combinación con tail, puede ser útil cuando necesitas filtrar contenido específico y luego mostrar las últimas líneas.

grep "palabra_clave" archivo.txt | tail -n 10

Esto es ideal si estás buscando eventos específicos en registros grandes.


6. less con búsqueda inversa

less es útil para navegar manualmente en archivos grandes. Aunque no está diseñado específicamente para mostrar las últimas líneas, puedes abrir el archivo y desplazarte al final presionando Shift+G.

less archivo.txt

Desde ahí, puedes buscar contenido hacia atrás con /. Puedes aprender más sobre el comando less en Dominando el comando «less» en Linux: Leyendo ficheros enormes con elegancia.


7. perl para personalización avanzada

Si necesitas más flexibilidad, perl ofrece una solución avanzada. Este script imprimirá las últimas 10 líneas de un archivo:

perl -ne 'push @lines, $_; shift @lines if @lines > 10; END { print @lines }' archivo.txt

Esto es útil en entornos donde no puedes usar utilidades estándar.


¿Cuál es el mejor comando para ti?

La elección del comando depende de tus necesidades específicas. Si buscas algo rápido y directo, tail es tu mejor opción. Si necesitas personalización, herramientas como awk, sed o perl te ofrecen mayor control.

¿Conoces alguna otra forma de leer las últimas líneas de un archivo? ¡Déjanos tu comentario y comparte tus trucos!

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Descubre más desde Interadictos

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo