Cómo añadir texto a un archivo usando Bash
-
Agregar texto a un archivo con el operador de redirección
>>
-
Añade el texto a un archivo con el comando
tee
Podemos añadir texto a un archivo usando el operador Redirection (>>
), y el comando tee
.
Debemos asegurarnos de que tenemos suficientes permisos para añadir texto al archivo. Si no tenemos suficientes permisos, podemos obtener el error de permiso denegado.
Agregar texto a un archivo con el operador de redirección >>
El operador de redirección >>
obtiene la salida de los comandos bash
y agrega la salida a otro archivo. Hay muchas maneras de imprimir el texto a la salida estándar, sin embargo echo
y printf
son los comandos más populares.
Para añadir el texto a un archivo, escribimos un comando para imprimir el texto usando cualquiera de los comandos de salida y luego añadimos el operador >>
al comando seguido del nombre del archivo donde el texto necesita ser añadido.
echo "Hello World" >> abc.txt
Esto añadirá el texto Hello World
al final del archivo abc.txt
.
Si el archivo no existe en el directorio de trabajo actual, el comando creará un archivo vacío y escribirá el texto Hello World
en el archivo.
Para interpretar los caracteres de la secuencia de escape como \n
, usamos la opción -e
con el comando echo
.
echo -e "Hello World! \nThis is DelftStack" >> abc.txt
Esto añadirá el texto
Hello World!
This is DelftStack
al archivo abc.txt
.
Para verificar si el texto ha sido agregado o no, podemos usar el comando cat
para ver el contenido del archivo.
cat abc.txt
Resultado:
Hello World!
This is DelftStack
Si el texto ha sido añadido, podemos ver el texto al final del archivo.
Si queremos un texto más formateado, podemos usar el comando printf
para producir una salida más formateada.
printf "The path of shell interpreter is %s\n" $SHELL >> abc.txt
Añade el texto The path of shell interpreter is /bin/bash
al archivo abc.txt
.
Añade el texto a un archivo con el comando tee
tee
es una utilidad de línea de comandos que toma la entrada de la entrada estándar y la escribe en uno o más archivos y la salida estándar simultáneamente.
Por defecto, el comando tee
sobrescribe el contenido de los archivos. Para simplemente añadir el texto al final del archivo, usamos la opción -a
o --append
con el comando.
echo "Hello World!" | tee -a abc.txt
Resultado:
Hello World!
Añade Hello World!
al archivo abc.txt
y también escribe el texto en la salida estándar de la terminal.
Si obtenemos un error de permiso denegado mientras se añade el texto a un archivo, podemos añadir la palabra clave sudo
antes del comando tee
.
echo "Hello World!" | sudo tee -a abc.txt
Si no queremos ver la salida estándar, podemos redirigir la salida a /dev/null
.
echo "Hello World!" | tee -a abc.txt >/dev/null
Una ventaja de usar el comando tee
es que podemos escribir el texto en varios archivos simultáneamente usando el comando tee
. Para escribir el texto en múltiples archivos, podemos simplemente listar todos los archivos separados por un espacio.
echo "Hello World!" | sudo tee -a abc.txt backup.txt
Añade el texto a ambos archivos abc.txt
y backup.txt
simultáneamente.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn