Introducción
El comando cat de Linux es una potente utilidad que permite a los usuarios concatenar, ver y crear archivos. Una de sus características útiles es la capacidad de escribir texto en un archivo, ya sea anexándolo al final del archivo o sobrescribiendo el contenido existente del archivo. En este artículo, exploraremos cómo usar el comando cat para escribir texto en un archivo en Linux, cubriendo las diversas opciones y banderas que se pueden usar para personalizar el comportamiento del comando.
Introducción al comando Cat de Linux
El comando cat es un comando simple pero versátil que se usa comúnmente en Linux para realizar varias operaciones de archivos. Es la abreviatura de «concatenar» y se puede usar para unir varios archivos o para mostrar el contenido de un archivo en la pantalla.
La sintaxis básica del comando cat es la siguiente:
$ cat [options] [file]
El argumento options es opcional y especifica varios indicadores que modifican el comportamiento del comando cat. El argumento file es el nombre del archivo que desea manipular. Si no especifica un archivo, cat leerá desde la entrada estándar (por ejemplo, la entrada del teclado). Estos son algunos ejemplos comunes de uso del comando cat:
Para ver el contenido de un archivo en la pantalla:
$ cat file.txt
Para concatenar varios archivos y mostrar el resultado resultante en la pantalla:
$ cat file1.txt file2.txt file3.txt
Para concatenar varios archivos y guardar la salida resultante en un nuevo archivo:
$ cat file1.txt file2.txt file3.txt > newfile.txt
Como puede ver, el comando cat es una herramienta útil para ver y manipular archivos de texto en Linux. En la siguiente sección, veremos cómo usar el comando cat para escribir texto en un archivo.
Escribir texto en un archivo con el comando cat
Para escribir texto en un archivo usando el comando cat, puede usar el comando echo para generar el texto y canalizarlo al comando cat. El comando echo es un comando de shell integrado que se utiliza para mostrar un mensaje en la pantalla o para escribir un mensaje en un archivo.
A continuación, se muestra un ejemplo del uso de los comandos echo y cat para escribir «¡Hola mundo!» en un nuevo archivo llamado hello.txt −
$ echo "¡Hola mundo!" | cat > hello.txt
El comando echo genera la cadena «Hello, World!», y el comando | El símbolo (llamado «tubería») redirige la salida del comando echo a la entrada del comando cat. El mensaje de > redirige la salida del comando cat al archivo hello.txt, sobrescribiendo el archivo si ya existe o creando un nuevo archivo si no existe.
También puede utilizar los comandos echo y cat para añadir texto al final de un archivo existente. Para ello, puede utilizar el símbolo «>>» en lugar del símbolo >.
Por ejemplo, para agregar el texto «Esta es una nueva línea» al final del archivo «hello.txt», puede usar el siguiente comando:
$ echo "This is a new line" | cat >> hello.txt
Este es el resultado que vería si ejecutara este comando:
Hello, World!
This is a new line
También puede utilizar el indicador -n con el comando echo para suprimir el carácter de nueva línea al final de la salida. Esto puede ser útil si desea escribir varias líneas en un archivo sin agregar líneas en blanco adicionales entre ellas.
Por ejemplo, para escribir las siguientes tres líneas en un archivo llamado «lines.txt» sin agregar ninguna línea en blanco adicional entre ellas:
This is line 1.
This is line 2.
This is line 3.
Puede utilizar el siguiente comando:
$ echo -n "This is line 1." | cat > lines.txt
$ echo -n "This is line 2." | cat >> lines.txt
$ echo -n "This is line 3." | cat >> lines.txt
Esto escribirá las tres líneas en el archivo «lines.txt» de la siguiente manera:
This is line 1.This is line 2.This is line 3.
También puede usar el comando cat para escribir texto directamente en un archivo, sin usar el comando echo. Para ello, puede utilizar el comando cat en combinación con el símbolo > o >> y el símbolo <<, seguidos de una cadena delimitadora. Por ejemplo, para escribir las tres líneas siguientes en un archivo denominado «direct.txt»:
This is line 1.
This is line 2.
This is line 3.
Puede utilizar el siguiente comando:
$ cat > direct.txt << EOF
This is line 1.
This is line 2.
This is line 3.
EOF
El símbolo << indica el inicio de la entrada y la cadena EOF (que puede ser cualquier cadena que elija) indica el final de la entrada. El comando cat escribirá todo lo que esté entre los símbolos << y EOF en el archivo «direct.txt».
Puedes ver más sobre el comando cat por el siguiente enlace