Seguimos avanzando con la terminal Linux y sus herramientas para realizar operaciones sobre archivos y carpetas. Pues bien, hoy le toca el turno a otro comando perteneciente a GNU utils como es el comando cat de Linux.
En este post te contamos las generalidades del comando, así como su sintaxis y opciones. Además, aprenderás a usarlo gracias a varios ejemplos.
El comando cat de Linux es un comando de la familia Unix para trabajar con archivos de texto. Con el comando cat podemos hacer tres cosas:
Sin embargo, aunque el comando cat nos brinda estas posibilidades, se utiliza principalmente para mostrar el contenido de un archivo.
El comando cat también es parte de GNU utils, lo que lo hace disponible en todas las distribuciones de Linux. Por lo tanto, para usarlo solo necesita abrir una terminal.
Como la mayoría de los comandos de la familia Unix, el comando tiene una sintaxis básica a seguir. En el caso del comando cat, la sintaxis es la siguiente:
Además, las opciones modifican el comportamiento del comando. Es en las opciones donde residen la mayor parte de las posibilidades del mando.
Opción | Descripción según el manual de utilidades de GNU |
-A o –show-all | Muestra toda la información del archivo |
-b o –number-nonblank | Numerar todas las líneas de salida que no estén vacías, empezando por 1. |
-E o –show-ends | Muestra un '$' después del final de cada línea. |
-n o –number | Numerar todas las líneas de salida, empezando por 1. Nota:esta opción se ignora si -b está en vigor. |
-s o –squeeze-blank | Suprimir líneas en blanco adyacentes repetidas |
-T o –show-tabs | Mostrar caracteres TAB como '^I' |
-v o –show-nonprinting | Mostrar caracteres de control excepto LFD y TAB usando la notación '^' |
Sin embargo, con algunos ejemplos, podremos mostrar la utilidad del comando. Así que vamos a por ello.
Ver el contenido de un archivo con el comando cat
Para mostrar el contenido de un archivo de texto, utilice la siguiente sintaxis.
:~$ cat [file]
Si el archivo no está en la misma ubicación que el indicador, debe especificar la ruta completa.
:~$ cat /file/path
En este caso, he creado un archivo de texto para la prueba.
:~$ cat file1.txt
-
Como puede ver en la imagen, se ha mostrado todo el archivo.
Por otro lado, es posible que el contenido de un archivo sea muy grande y para evitar desplazarse por el terminal se puede usar más y menos.
:~$ cat file1.txt | more
O
:~$ cat file1.txt | less
Esto facilitará la navegación y la lectura.
También es posible mostrar el contenido de dos o más archivos con el comando cat, solo especifíquelos separados por un espacio en blanco.
:~$ cat file1.txt file2.txt
-
Y así podrás visualizar varios archivos de texto a la vez.
Mostrar el número de líneas en el archivo
Cuando el archivo es lo suficientemente grande y desea saber la cantidad de líneas que tiene, el comando cat lo hace posible agregando la opción -n.
Únicamente, es necesario agregarlo de la siguiente manera:
:~$ cat -n [file]
Por ejemplo:
:~$ cat -n longfile.txt
Como puede ver, este archivo tiene once líneas.
Muestra el número de líneas que no están en blanco con el comando cat
Como habrás notado, el archivo anterior tiene 11 líneas pero se incluyen las líneas vacías. Para mostrar solo las líneas que tienen texto, use la opción -b.
De esta manera, el comando se ve así:
~$ cat -b longfile.txt
-
Recuerda que la opción -b anula la opción -n.
Marque el final de la línea con $
A veces es útil saber cuándo termina una línea, esto se puede hacer con el comando cat.
Para hacer esto, agregue la opción -e al comando y se verá así:
:~$ cat -e longfile.txt
Como puede ver en la imagen, se muestra un $ al final de cada línea, incluso si está en blanco.
El comando cat también muestra los caracteres no imprimibles y las pestañas
No solo muestra el contenido de un archivo de texto, sino también aquellas cosas en el archivo que no vemos, como tabulaciones y caracteres no imprimibles.
Para los caracteres no imprimibles, puede usar la opción -v. Si los hay, los indicará con ^.
:~$ cat -v longfile.txt
Y para las tabulaciones, la opción es -T. Entonces en mayúsculas.
:~$ cat -T longfile.txt
-
En este caso, los indica con ^I.
Concatenar varios archivos en uno
Concatenar varios archivos en uno nuevo es bastante simple con el comando cat. Esta utilidad es otra de las grandes funciones del mando.
Utiliza la siguiente sintaxis:
:~$ cat [file1] [file2] > [newfile]
En este caso, el comando tomará los archivos antes del signo> y los fusionará en un archivo con el nombre y la ubicación que desee.
Veamos el contenido de los archivos:
:~$ cat file1.txt file2.txt
Ahora ejecuta el siguiente comando:
:~$ cat file1.txt file2.txt > file3.txt
Luego, muestra el contenido de file3.txt
:~$ cat file3.txt
Como puede ver, los dos archivos se han fusionado en uno solo.
Crear un nuevo archivo con el comando cat
La otra utilidad del comando cat es crear archivos. Para hacer esto, simplemente use el operador> y asigne un nombre al nuevo archivo.
Tenga en cuenta que el archivo no debe existir porque, de lo contrario, el comando cat sobrescribirá todo el contenido.
Para crear un archivo con su extensión, use el siguiente comando
:~$ cat > [file]
Por ejemplo:
:~$ cat > test.txt
Y empieza a escribir. Cuando haya terminado, salga del editor presionando las teclas CTRL + D.
Luego, muestre el contenido del archivo para verificar.
:~$ cat test.txt
- Crear un nuevo archivo con el comando cat
Entonces puedes crear archivos con el comando cat.
Si desea modificar este archivo con el comando cat, debe usar el operador>> porque si repite el comando con> se eliminará el contenido.
:~$ cat >> test.txt
Agregue los cambios y salga de nuevo con CTRL + D. Y vuelva a mostrar el contenido del archivo.
:~$ cat test.txt
Así de fácil es crear archivos de texto con el comando cat.
Reflexiones finales
En esta publicación, hemos cubierto de manera bastante explícita el uso del comando cat. La utilidad de este comando radica principalmente en mostrar el contenido de un archivo de texto. Gracias a las opciones podemos tener varios comportamientos que mejoran la experiencia con el mando.
Finalmente, te invitamos a leer nuestro post sobre el comando cp. Otro comando de manipulación de archivos fácil de usar.