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.