Cómo escribir en un archivo en Bash

Leer y escribir los archivos es una de las tareas más comunes al escribir scripts bash. Por ejemplo, para guardar la salida de un comando en un archivo o simplemente para manipular los archivos en bash, se utilizan diferentes comandos. Hay varias formas de escribir un archivo en Bash a través de la terminal, y si encuentra formas de escribir un archivo mientras realiza una secuencia de comandos, consulte esta guía.
Contenidos
Escribir archivos en Bash
Como se mencionó anteriormente, en bash scripting hay varias formas de escribir un archivo y, a continuación, hay algunas formas de escribir un archivo en bash:
Uso de operadores de dirección
En general, hay dos operadores de dirección que se pueden usar para escribir un archivo cuando se ejecuta un script de bash, uno es un corchete de ángulo único «>» y el otro es un soporte de doble ángulo «>>». La principal diferencia entre los dos es que «>» sobrescribe los datos previamente presentes en el archivo con los nuevos datos, mientras que «>>” Por otro lado, solo los nuevos datos se insertarán en el archivo. Para usar cualquiera de los operadores direccionales a continuación, se debe seguir la sintaxis adecuada: $ echo <„Daten“>
Próximo a usar «>>» Operador de dirección para agregar cualquier dato en el archivo. Usé la sintaxis mencionada anteriormente como esta: $ echo «Hello Linuxhint 2» >> myfile.txt
Recuerde que la sintaxis mencionada anteriormente no solo escribe el archivo, sino que también crea un archivo si no existe uno.
Usando el comando tee
Otra forma de escribir un archivo mientras se ejecuta un script en bash es usar el comando tee y, a continuación, se muestra la sintaxis para usar este comando: $ echo «data» | té
Tenga en cuenta que la sintaxis utilizada anteriormente no solo es beneficiosa para escribir los datos, sino que también se puede usar en caso de que alguien quiera sobrescribir los datos que se encuentran actualmente en el archivo con los nuevos datos. Entonces, si desea conservar los datos actuales y escribir el archivo con un nuevo registro, use -a Marcar con la sintaxis dada como: $ echo «saludos» | tee -a miarchivo.txt
Si desea agregar los mismos datos a varios archivos, este comando puede ser de gran ayuda té El comando se puede utilizar para este propósito de la siguiente manera: $ echo «saludos» | tee -a miarchivo1.txt miarchivo2.txt miarchivo3.txt
Otro beneficio de usar este comando es que puede editar un archivo propiedad de otros usuarios usando privilegios administrativos como este: $ echo «Este es un archivo de prueba» | sudo tee -a miarchivo1.txt
Usando el comando printf
Dado que las formas anteriores no le dan al usuario la libertad de agregar formato a los datos, puede agregar un formato específico a los datos presión se puede usar así: $ printf «Saludos desde linuxhint \nEste es un archivo de prueba.\n» >> myfile1.txt
Uso de Heredoc
Otra forma de escribir un archivo en bash es usar aquí documento formato, no es una especie de comando, sino más bien un formato que se puede seguir para escribir varias líneas de datos, a continuación se muestra el formato de heredoc: cat < [delimiter]Datos…………[delimiter]
Aquí, en la sintaxis, cat se usa para leer los datos y el delimitador es una especie de límite para los datos; podría ser una cadena o un nombre de archivo. En la práctica normal, se suele utilizar END o EOF como delimitador, pero todo depende de la preferencia del usuario. Por ejemplo, creé un archivo .sh y usé el formato de Heredoc así: #! /bin/bashcat << MYFILE Saludos desde LinuxhintEste es un archivo de prueba creado con heredocMYFILE
Ahora, para ver si los datos se guardan correctamente, ejecutemos este archivo con:
Conclusión
Escribir archivos mientras se ejecutan secuencias de comandos de bash en un sistema Linux es una tarea difícil a menos que se tenga un conocimiento profundo del uso de los comandos de Linux. Esta guía proporciona 4 formas de escribir cualquier archivo al crear scripts en bash, a saber: usando operadores direccionales, té Dominio, presión y Heredoc.