Programación BASH

Cómo escribir en un archivo en Bash

Cómo escribir en un archivo en Bash
Una de las tareas esenciales que hacemos al trabajar con scripting bash es leer y escribir archivos. En esta guía, nos centraremos en cómo leer archivos en bash y cómo editarlos.

Hay varias formas de leer y escribir un archivo en bash. La forma más sencilla es utilizar los operadores ">" y ">>".

El formato general del uso de operadores de redirección es:

Datos> Nombre de archivo
Datos >> Nombre de archivo

Entendamos el procedimiento de escritura en un archivo con un ejemplo:

Cómo escribir un archivo usando operadores de redirección

Como se discutió anteriormente, el enfoque simple y directo de escribir en un archivo es usar operadores de redirección. Por ejemplo, si desea cambiar el texto de un archivo ya existente, primero cree un archivo de texto con el nombre "archivo de prueba.TXT”Y escriba cualquier cosa en él:

Guardar el archivo de texto.

Escriba el comando mencionado a continuación en la terminal:

$ echo "Sobrescribiendo el texto existente en el archivo"> ​​testfile.TXT

Escurrir demasiado puede ser riesgoso; por lo tanto, es una buena práctica habilitar "noclobber". Configurar "noclobber" bloquearía cualquier sobrescritura en cualquier archivo existente.

$ set -o noclobber
$ echo "Sobrescribiendo el texto existente en el archivo"> ​​testfile.TXT

Pero si desea omitir "noclobber", utilice el "> |"Operador en lugar de">”:

$ echo “Sobrescribir el texto existente en el archivo”> | archivo de prueba.TXT

O simplemente puede desactivar "noclobber":

$ set + o noclobber

Pero este comando quitará la protección de todos los archivos.

La salida anterior indica que el texto existente se ha sobrescrito. Ahora, usemos el ">>"Operador:

$ echo "Agregar texto al archivo de texto existente" >> testfile.TXT

"eco"No siempre es ideal para usar ya que no puede formatear el texto usándolo, por lo tanto, use" printf "en lugar de" echo "para formatear el texto como se muestra en el siguiente comando:

$ printf “Bienvenido \ n Este es un nuevo archivo de texto."> Archivo de prueba nuevo.TXT

Entendamos el concepto con un ejemplo de script bash. Abra Vim escribiendo "vim" en la terminal. Si no tiene el editor Vim en su dispositivo, instálelo usando:

$ sudo apt install vim

Escriba el guión:

#! / bin / bash
echo "Ingresa tu nombre"
leer nombre
echo $ nombre> data_dir.TXT
echo "Ingresa tu edad"
leer edad
echo $ age >> data_dir.TXT
cat data_dir.TXT

La "gatoEl comando "se utiliza para crear y editar los archivos. Guarde el script anterior en Vim cambiando de modo después de presionar el botón "Esc"Clave y luego escriba": w myscript.sh". Abra la terminal y ejecute el código:

Cómo escribir un archivo usando Heredoc

Si desea escribir varias líneas, el método más sencillo es usar "Heredoc". Aquí el documento, también conocido como "Heredoc", es un bloque de código multipropósito. La sintaxis de Heredoc es:

Mando <<[-] Delimiter
.
texto / comandos
.

Delimitador

Se puede usar cualquier cadena en lugar de "Delimitador", y "-" también se puede usar para eliminar cualquier espacio de tabulación en el archivo. Entendamos esto usando un ejemplo simple:

#! / bin / bash
gato << TEXTFILE
Este es un archivo de texto.
Este archivo se crea usando heredoc.
ARCHIVO DE TEXTO

El comando "cat" de la secuencia de comandos anterior crea un archivo de texto con el nombre de "TEXTFILE" y escribe el texto en el archivo recién creado. Ahora guarde el archivo con el nombre de "myscript.sh". Inicie la terminal y ejecute el script.

Cómo escribir un archivo usando el comando Tee

Otro método para escribir un archivo es usar el comando "Tee". Como nombre que indica, este comando toma la entrada y escribe en un archivo y muestra la salida simultáneamente. De forma predeterminada, el comando "Tee" sobrescribirá los datos existentes.

$ echo “Este es un texto” | archivo de texto tee.TXT

Para agregar use -a:

$ echo “Este es otro texto” | tee -a archivo de texto.TXT

Para escribir varias líneas, use:

$ echo "Agregar texto a varios archivos" | tee textfile1.txt textfile2.txt textfile3.TXT

El comando anterior creará tres archivos si no existen y escribirá texto en cada uno de ellos.

Conclusión

Esta guía se centra en varios enfoques para escribir en un archivo en bash con ejemplos. En bash scripting, hay varias formas de escribir un archivo, pero la más simple es usar operadores de redirección “>”, “>>”. Para escribir varias líneas, se puede utilizar "heredoc" y, si desea escribir los mismos datos en varias líneas, el comando "tee" es bastante útil.

Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider es la duodécima incorporación a la serie Tomb Raider, una franquicia de juegos de acción y aventuras creada por Eidos Montre...
Cómo impulsar FPS en Linux?
FPS significa Cuadros por segundo. La tarea de FPS es medir la velocidad de fotogramas en reproducciones de video o actuaciones de juegos. En palabras...
Los mejores juegos de Oculus App Lab
Si es propietario de un visor Oculus, debe estar informado sobre la descarga lateral. Sideloading es el proceso de instalación de contenido que no es ...