En Bash, hay varias formas de agregar texto a un archivo. Este artículo explica algunos de ellos.
Para agregar texto a un archivo, debe tener permisos de escritura. De lo contrario, recibirá un error de permiso denegado.
Agregar a un archivo usando el operador de redirección ( >>
)
La redirección le permite capturar la salida de un comando y enviarla como entrada a otro comando o archivo. El >>
operador de redirección agrega la salida a un archivo dado.
Hay una serie de comandos que puede usar para imprimir texto en la salida estándar y redirigirlo al archivo, echo
siendo printf
estos los más utilizados.
Para agregar texto a un archivo, especifique el nombre del archivo después del operador de redirección:
echo "this is a new line" >> file.txt
Cuando se usa con la -e
opción, el echo
comando interpreta los caracteres de escape de barra invertida, como nueva línea \n
:
echo -e "this is a new line \nthis is another new line" >> file.txt
Para producir una salida más compleja, use el printf
comando que le permite especificar el formato de la salida:
printf "Hello, I'm %s.\n" $USER >> file.txt
Otra forma de agregar texto a un archivo es usar el documento Here (Heredoc). Es un tipo de redirección que le permite pasar varias líneas de entrada a un comando.
Por ejemplo, puede pasar el contenido al cat
comando y agregarlo a un archivo:
cat << EOF >> file.txt
The current working directory is: $PWD
You are logged in as: $(whoami)
EOF
Puede agregar la salida de cualquier comando a un archivo. Aquí hay un ejemplo con el date
comando:
date +"Year: %Y, Month: %m, Day: %d" >> file.txt
Al agregar a un archivo usando una redirección, tenga cuidado de no usar el >
operador para sobrescribir un archivo existente importante.
Agregar a un archivo usando el tee
comando
tee
es una utilidad de línea de comandos en Linux que lee desde la entrada estándar y escribe tanto en la salida estándar como en uno o más archivos al mismo tiempo.
De forma predeterminada, el tee
comando sobrescribe el archivo especificado. Para agregar la salida al archivo, use tee
la opción -a
( ):--append
echo "this is a new line" | tee -a file.txt
Si no desea tee
escribir en la salida estándar, rediríjalo a /dev/null
:
echo "this is a new line" | tee -a file.txt >/dev/null
La ventaja de usar el tee
comando sobre el >>
operador es que tee
le permite agregar texto a varios archivos a la vez y escribir en archivos que pertenecen a otros usuarios junto con sudo
.
Para agregar texto a un archivo para el que no tiene permisos de escritura, antepóngalo sudo
como tee
se muestra a continuación:
echo "this is a new line" | sudo tee -a file.txt
tee
recibe el resultado del echo
comando, eleva los permisos de sudo y escribe en el archivo.
Para agregar texto a más de un archivo, especifique los archivos como argumentos del tee
comando:
echo "this is a new line" | tee -a file1.txt file2.txt file3.txt
Conclusión
En Linux, para agregar texto a un archivo, use el >>
operador de redirección o el tee
comando.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.
0 Comentarios