tail con Bash

Comando tail para Linux

Trabajar con el comando tail en Bash es muy parecido a trabajar con el comando head en Bash. El comando tail de Linux hace referencia a las últimas líneas del documento y head a las líneas del comienzo.

tail [opciones] [mi_archivo]

Hay que tener en cuenta que si no especificamos ninguna opción el comando tail nos mostrará las diez últimas líneas. Entendiendo por una línea de texto, un texto que finaliza con salto de línea.

Para seguir con esta entrada debemos tener en nuestro equipo un archivo de texto con unas cuantas líneas, a ser posible más de diez líneas. Hacer uso del texto de lorem ipsum puede ser una buena idea.

Aquí un ejemplo de archivo de texto con más de diez líneas.

Lorem ipsum 
es el texto que se 
usa habitualmente 
en diseño
 gráfico en demostraciones 
de tipografías 
o de b
orradores de di
seño para pro
bar el 
diseño visual antes 
de insertar el texto final.
Aunque no posee actualmente 
fuentes para justificar su
s hipótesis, 
el profesor de filología 
clásica Richard McClintock asegura que su uso se remonta a los impresores de comienzos del siglo xvi.1​ Su uso en algunos editores de texto muy conocidos en la actualidad ha dado al texto lorem ipsum nueva popularidad.

Haciendo uso del comando cat en Bash podemos ver que el texto anterior tiene 17 líneas.

cat -n lorem.txt

Sabiendo que tenemos un texto con más de diez líneas vamos a utilizar el comando tail de Linux por defecto. No agregaremos ninguna de las opciones disponibles para este comando.

tail lorem.txt

Este comando nos mostrará las diez últimas líneas del documento lorem.txt.

Si duplicamos ese archivo mediante el comando cp de Linux llamándolo por ejemplo lorem_copia.txt podremos hacer un tail de dos archivos a la vez.

cp lorem.txt lorem_copia.txt

Ahora podemos hacer uso del comando tail sobre lorem.txt y lorem_copia.txt a la vez. Esto nos mostrará de resultado las diez últimas líneas de cada uno de los documentos.

tail lorem.txt lorem_copia.txt

El comando tail genera en el resultado una separación de forma automática indicando ==> el nombre <== de cada archivo. Aunque en la siguiente captura de pantalla no se pueden apreciar correctamente las diez últimas líneas del fichero lorem_copia.txt, os aseguro que han aparecido correctamente 🙂

Mostrando en pantalla las diez últimas líneas de dos ficheros haciendo uso del comando tail de Linux

Opciones para tail en Bash

Mediante las opciones podemos afinar mucho más el comando tail de Linux. Recuerda que la mayoría de los comandos aumentan su potencia combinando las opciones disponibles. Puedes verlas todas ejecutando en la terminal man tail.

  • -n: muestra las últimas n líneas del fichero.
tail -n 3 lorem.txt
  • -c: muestra los últimos n bytes del fichero.
tail -c 300 lorem.txt
  • -f: vigila un archivo en tiempo real esperando que se agreguen nuevas líneas. También controla cuando se eliminan algunas líneas ya existentes.
tail -f lorem.txt
  • -v: muestra las últimas líneas de varios archivos, mostrando un encabezado con el nombre del archivo.
tail -v lorem.txt lorem_copia.txt

Este ejemplo utilizando opciones con el comando tail con Bash va a mostrar las dos últimas líneas de cada uno de los ficheros.

tail -n 2 lorem.txt lorem_copia.txt
Mostrando en pantalla las dos últimas líneas de dos ficheros haciendo uso del comando tail -n 2 de Linux

En la captura de pantalla puede parecer que se muestran las cuatro últimas líneas de cada fichero, pero no es así, se están mostrando únicamente las dos últimas líneas, lo que pasa que la última línea ocupa bastante.

Haremos uso del comando cat -n para que numere las líneas y lo veamos con más claridad.

Verificando que la última línea del documento la número 17 ocupa en pantalla varios renglones

Dejar un comentario

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