Búsqueda de sitios web

Cómo utilizar los comandos 'cat' y 'tac' con ejemplos en Linux


Este artículo es parte de nuestra serie de trucos y consejos de Linux. En este artículo cubriremos algunos usos básicos del comando cat (el comando más utilizado en Linux) y tac ( comando inverso del gato: imprimir archivos en orden inverso) con algunos ejemplos prácticos.

Lea también: 13 ejemplos útiles del comando 'cat' en Linux

Uso básico del comando Cat en Linux

El comando Cat, acrónimo de Concatenate, es uno de los comandos más utilizados en sistemas *nix. El uso más básico del comando es leer archivos y mostrarlos en stdout, es decir, mostrar el contenido de los archivos en su terminal.

cat file.txt

Otro uso del comando cat es leer o combinar varios archivos y enviar el resultado a un monitor como se ilustra en los ejemplos siguientes.

cat file1.txt file2.txt file3.txt

El comando también se puede utilizar para concatenar (unir) varios archivos en un solo archivo utilizando el operador de redirección de Linux “> ”.

cat file1.txt file2.txt file3.txt > file-all.txt

Al utilizar el redirector de anexos, puede agregar el contenido de un nuevo archivo al final del file-all.txt con la siguiente sintaxis.

cat file4.txt >> file-all.txt

El comando cat se puede utilizar para copiar el contenido del archivo a un archivo nuevo. El nuevo archivo se puede cambiar de nombre arbitrariamente. Por ejemplo, copie el archivo desde la ubicación actual al directorio /tmp/.

cat file1.txt > /tmp/file1.txt 

Copie el archivo de la ubicación actual al directorio /tmp/ y cambie su nombre.

cat file1.txt > /tmp/newfile.cfg

Un uso menor del comando cat es crear un nuevo archivo con la siguiente sintaxis. Cuando termine de editar el archivo, presione CTRL+D para guardar y salir del nuevo archivo.

cat > new_file.txt

Para numerar todas las líneas de salida de un archivo, incluidas las líneas vacías, utilice el modificador -n.

cat -n file-all.txt

Para mostrar solo el número de cada línea no vacía, utilice el modificador -b.

cat -b file-all.txt

¿Quieres aprender más sobre el comando cat de Linux? luego lea nuestro artículo sobre 13 ejemplos útiles de comandos 'cat' en Linux.

Aprenda a utilizar el comando Tac en Linux

Por otro lado, un comando menos conocido y menos utilizado en los sistemas *nix es el comando tac. Tac es prácticamente la versión inversa del comando cat (también escrito al revés) que imprime cada línea de un archivo comenzando desde la línea inferior y terminando en la línea superior según el estándar de su máquina. producción.

tac file-all.txt

Una de las opciones más importantes del comando está representada por el modificador -s, que separa el contenido del archivo en función de una cadena o una palabra clave del archivo.

tac file-all.txt --separator "two"

A continuación, el uso más importante del comando tac es que puede proporcionar una gran ayuda para depurar archivos de registro, invirtiendo el orden cronológico del contenido del registro.

tac /var/log/auth.log

Or to display the last lines

tail /var/log/auth.log | tac
Salida de muestra
tecmint@tecmint ~ $ tac /var/log/auth.log
pr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
....
tecmint@tecmint ~ $ tail /var/log/auth.log | tac
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root
Apr  6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root
...

Igual que el comando cat, tac hace un excelente trabajo manipulando archivos de texto, pero debe evitarse en otros tipos de archivos, especialmente archivos binarios o en archivos donde la primera línea denota el programa que lo ejecutará.