Escribir en un archivo en Bash

Faaiq Bilal 20 junio 2023
Escribir en un archivo en Bash

Este tutorial nos permitirá explorar diferentes enfoques para escribir archivos en bash. Un archivo se puede agregar o sobrescribir según los requisitos. Veamos cómo podemos hacerlo.

Diferentes formas de escribir/sobrescribir un archivo en Bash

Veremos múltiples operadores, como > y >>, para sobrescribir y agregar salidas a los archivos. Además, exploraremos el comando tee para sobrescribir y agregar archivos únicos y múltiples.

Utilice el operador > para sobrescribir un archivo

El operador > se utiliza para sobrescribir el archivo. Por ejemplo, el siguiente código se usa para sobrescribir un archivo.

echo "Overwriting in the file" > test.txt

El comando anterior sobrescribe el archivo test.txt si sale; de lo contrario, crea uno nuevo. El echo normalmente no se usa porque no soporta el formato de texto.

Usamos printf para texto formateado en lugar de echo. El siguiente ejemplo muestra la sobrescritura del archivo usando printf.

printf "overwriting using the printf \n now in next line" > test.txt

El comando anterior formateará la cadena y agregará la nueva línea después de printf.

Utilice el operador >> para escribir en un archivo

El operador >> se utiliza para añadir contenido al final del archivo. Por ejemplo, el siguiente comando se usa para agregar los datos al archivo llamado test.txt.

echo "Append in the file" >> test.txt

Utilice el comando vim para escribir en un archivo

El editor vim también se utiliza para editar el contenido del archivo. Por ejemplo, el siguiente código abrirá el archivo test.sh en el editor vim.

sudo vim test.sh

Después de abrir el editor vim, agregue el siguiente script para realizar las operaciones de escritura de archivos.

#! /bin/bash
echo "Enter Student Name"
read yourName
echo $yourName > test.txt
echo "Enter age"
read age
echo $age >> test.txt
cat test.txt

Después de agregar el código, presione ESC y escriba w para cerrar el archivo. Ahora ejecute el archivo usando bash test.sh.

El script anterior muestra dos enfoques para la escritura de archivos. En la línea 4, usamos el operador >, que sobrescribe el archivo. Mientras que la línea 7, use el operador >>, que no sobrescribe el contenido anterior y agrega la cadena a la nueva línea.

Utilice el comando tee para escribir en un archivo

Podemos usar el comando tee si queremos realizar operaciones de escritura en el archivo y la consola simultáneamente. Simultáneamente toma la entrada y escribe la cadena en el archivo y la consola.

Usando el comando tee, podemos ver el contenido en la consola que se está escribiendo en el archivo. El comando tee también se usa para sobrescribir y agregar el archivo.

Utilice el comando tee para sobrescribir un archivo

El siguiente comando se usa para sobrescribir usando el comando tee.

echo "Testing the Tee Command" | tee test.txt

El comando anterior tomará la entrada de cadena de la tubería (|) y la escribirá simultáneamente en la consola y el archivo.

Use el comando tee para agregar a un archivo

La bandera -a se usa con el comando tee para agregar un archivo. Por ejemplo, el siguiente código agregará Probando el comando Tee al archivo test.txt.

echo "Testing the Tee Command" | tee -a test.txt

A veces, es posible que necesitemos escribir el contenido en varios archivos simultáneamente. Podemos usar el comando tee para lograr esto especificando los nombres de todos los archivos separados por un solo espacio.

Seguir el comando bash demuestra cómo escribir el contenido en varios archivos:

echo "Writing text to the multiple files" | tee test1.txt test2.txt test3.txt

El comando anterior escribe la cadena de entrada en la consola y los tres archivos de texto simultáneamente.

Artículo relacionado - Bash File