Androide

Bash: agregar al archivo

Comando en Linux, crear, copiar, eliminar (Carpeta/directorio) y archivo de texto

Comando en Linux, crear, copiar, eliminar (Carpeta/directorio) y archivo de texto

Tabla de contenido:

Anonim

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 redireccionamiento ( >> )

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 varios comandos que puede usar para imprimir texto en la salida estándar y redirigirlo al archivo, siendo echo e printf 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 opción -e , el comando echo interpreta los caracteres con barra invertida como newline :

echo -e "this is a new line \nthis is another new line" >> file.txt

Si desea producir una salida más compleja, use el comando printf 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 múltiples líneas de entrada a un comando.

Por ejemplo, puede pasar el contenido al comando cat y agregarlo a un archivo:

cat «EOF» file.txt El directorio de trabajo actual es: $ PWD Ha iniciado sesión como: $ (whoami) EOF

Puede agregar la salida de cualquier comando a un archivo. Aquí hay un ejemplo con el comando date :

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

Cuando agregue 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 comando tee

tee es una utilidad de línea de comandos en Linux que lee desde la entrada estándar y escribe en la salida estándar y en uno o más archivos al mismo tiempo.

Por defecto, el comando tee sobrescribe el archivo especificado. Para agregar la salida al archivo, use tee con la opción -a ( --append ):

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

La ventaja de utilizar el comando tee sobre el operador >> es que tee permite agregar texto a varios archivos a la vez y escribir en archivos propiedad de otros usuarios junto con sudo .

Para agregar texto a un archivo para el que no tiene permisos de escritura, agregue sudo antes del tee como se muestra a continuación:

echo "this is a new line" | sudo tee -a file.txt

tee recibe la salida del comando echo , eleva los permisos de sudo y escribe en el archivo.

Para agregar texto a más de un archivo, especifique los archivos como argumentos para el comando tee :

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 comando tee .

terminal de bash