Tutorial de comandos tácticos de Linux para principiantes (con ejemplos)
Ya hemos hablado del comando cat de Linux en uno de nuestros anteriores tutoriales. Como ya sabrás, el comando cat se utiliza principalmente para mostrar el contenido de los archivos en la salida. Sin embargo, lo que quizá no sepas es que existe un comando que hace exactamente lo contrario de lo que hace cat.
La herramienta en cuestión es tac, y en este tutorial hablaremos de sus fundamentos con algunos ejemplos fáciles de entender. Pero antes de hacerlo, conviene mencionar que todos los ejemplos de este artículo se han probado en una máquina Ubuntu 16.04 LTS.
El comando Linux tac
Tac es opuesto a cat en el sentido de que la salida que produce se presenta de forma que se muestra primero la última línea, luego la penúltima, y así sucesivamente. A continuación se muestra la sintaxis de la herramienta:
tac [OPTION]... [FILE]...
Y esto es lo que dice la página man de tac sobre ella:
Write each FILE to standard output, last line first. With no FILE, or when FILE is -, read
standard input.
A continuación hay algunos ejemplos al estilo de las preguntas y respuestas que deberían darte una buena idea de cómo funciona la herramienta.
Q1. ¿Cómo se utiliza tac?
Es sencillo, sólo tienes que ejecutar el comando ‘tac’ con un nombre de archivo como entrada.
tac [filename]
Por ejemplo:
tac file2
Así puedes ver que la salida producida por tac es exactamente la opuesta a la producida por cat.
Q2. ¿Cómo hacer que tac utilice un separador personalizado (no una nueva línea)?
Para ello, tendrás que utilizar la opción -s. Por ejemplo, el siguiente comando
echo "1,2" | tac
produjo esta salida:
1,2
Esto se debe a que newline es el separador por defecto de tac.
Sin embargo, el comando siguiente
echo "1,2" | tac -s ,
produce la siguiente salida:
2
1,
Eso es porque ahora se ha cambiado el separador.
Q3. ¿Cómo cambiar la posición del separador?
Si quieres que tac adjunte el separador antes en lugar de después, utiliza la opción -b.
Por ejemplo:
echo "1,2" | tac -b -s ,
produce la siguiente salida:
,2
1
Q4. ¿Cómo hacer que tac acepte la entrada desde STDIN?
Si quieres que el comando tac acepte la entrada desde la entrada estándar, simplemente no le pases ningún nombre de archivo.
tac
Una vez que ejecutes el comando de la forma mencionada anteriormente, esperará a que introduzcas el contenido. Cuando hayas terminado, pulsa Ctrl+d para indicar que has terminado, y entonces tac producirá su salida en STDOUT.
Conclusión
Como puedes ver, tac es fácil de entender y de trabajar con él. El número de opciones de la línea de comandos que ofrece es limitado, y aquí hemos tratado la mayoría de ellas. Puedes aprender más sobre el comando dirigiéndote a su página man.