Coreutils tac: Output de archivos completos (parte 2)

tac:  Es un comando de GNU Core Utilities (coreutils) que permite copiar el contenido de uno varios archivos en orden inverso y mostrarlo en el “Standard Output”

Coreutils – Output de archivos completos, seguimos con tac

Coreutils – Output de archivos completos, seguimos con tac

 

Ya es lunes de nuevo y lo prometido es deuda :D, otra publicación más sobre GNU Core Utilities, en el artículo anterior hablamos sobre cat, puedes volver a visitarlo aquí:  Coreutils cat: Output de archivos completos (parte 1), si no lo leiste corre a leerlo, te espero…. ¿ya?…  ¡genial!.
Bien, esta ocasión hablaremos sobre el mellizo malvado de cat… tac !!! bueno quizás no sean tan mellizos ni tan malvados :P.

Friends S06E17: Joey y Carl, no son tan identicos

Friends S06E17: Joey y Carl, no son tan idénticos

 

Ya fuera de bromas y referencias a friends :P

 

¿Qué es tac?

tac, al igual que cat copia el contenido de un archivo y lo despliega en el “Standard Output”, sin embargo lo hace de forma inversa.

Coreutils cat – Cheatsheet

Coreutils cat – Cheatsheet

 

Wait… What?… Si, tac por default comienza a mostrar primero la última línea y al final la primera línea.  Para los ejemplo utilizaremos el siguiente archivo:  ejemplo-104

Bien.. primero revisemos qué contiene  el archivo, ¿cómo? vamos a  usar el comando cat!!! :D.


Ahora veamos el mismo archivo utilizando tac


:o Está al revés !!!! Eso es… poco útil :(.  Claro, podría parecer que tac es un comando inútil, pero hay ciertos escenarios en los que quisieras leer un archivo comenzando por la última línea, por ejemplo un log de errores y quieres comenzar por el error más reciente. ;)

¿No tiene opciones el comando?

Si, claro que tiene opciones, y como es usual pueden consultarlas con la opción “–help”.


Honestamente me es un poco complicado encontrar ejemplo útiles para las opciones del comando tac, así que utilizaré ejemplo inútiles y dejaré que ustedes le encuentren utilidad xD.

Opción -s  ó –separator


OMG !!!  no sé para qué sirve eso en el mundo real, pero después de definir una cadena “wingardium leviosa” se convirtió en el separador, esto quiere decir que en lugar de invertir todas las líneas, el archivo comienza a invertirse desde el momento en que encuentra el separador y podemos ver que el separador es procesado hasta el final.

Opción -b  ó –before


Si usamos la opción “-b” el separador es procesado antes y en lugar de mostrarlo al final, lo muestra al principio.

Opción -r  ó –regex


Finalmente la opción “-r” nos permite utilizar una expresión regular como separador en lugar de una cadena regular.

Concurso

Debo admitir que estos son los ejemplo más ridículos que pude haber imaginado, pero estoy seguro que ustedes podrán encontrar cosas mucho más ingeniosas, de hecho, a la persona que nos diga en la sección de comentarios el ejemplo más ingenioso de tac utilizando TODAS SUS OPCIONES le vamos a obsequiar una playera del Gultij.

Ya mandamos pedir las playeras con el siguiente “diseño”

Diseño para playera del Gultij

“Diseño” para playera del Gultij

Nombraremos al ganador durante la próxima publicación de la serie, todos pueden participar.

Eso es todo por hoy, espero que les sea de mucha utilidad estas publicaciones, no dejen de comentar si les gusto y como siempre, háganos saber en qué podemos mejorar.

 

Hasta la próxima :D.

Leave a Reply