Cómo agregar resultados al final de un archivo de texto

Resuelto vincy asked hace 13 años • 0 respuestas

¿Cómo agrego el resultado de un comando al final de un archivo de texto?

vincy avatar Jun 02 '11 03:06 vincy
Aceptado

Úselo >>en lugar de >cuando dirija la salida a un archivo:

your_command >> file_to_append_to

Si file_to_append_tono existe, se creará.

Ejemplo:

$ echo "hello" > file
$ echo "world" >> file
$ cat file 
hello
world
aioobe avatar Jun 01 '2011 20:06 aioobe

Para appendun uso de archivo >>

echo "hello world"  >> read.txt   
cat read.txt     
echo "hello siva" >> read.txt   
cat read.txt

entonces la salida debería ser

hello world   # from 1st echo command
hello world   # from 2nd echo command
hello siva

Para overwriteun uso de archivo >

echo "hello tom" > read.txt
cat read.txt  

entonces la salida es

hello tom

yoctotutor.com avatar Apr 30 '2018 10:04 yoctotutor.com

Puede utilizar el operador >>. Esto agregará datos de un comando al final de un archivo de texto.

Para probar esto intenta ejecutar:

echo "Hi this is a test" >> textfile.txt

Haga esto un par de veces y luego ejecute:

cat textfile.txt

Verás que tu texto se ha agregado varias veces al archivo textfile.txt.

walta avatar Jun 01 '2011 20:06 walta

Úselo command >> file_to_append_topara agregar a un archivo.

Por ejemploecho "Hello" >> testFile.txt

PRECAUCIÓN: si solo utiliza uno, >sobrescribirá el contenido del archivo. Para asegurarse de que eso nunca suceda, puede agregar set -o noclobbera su archivo .bashrc.

Esto garantiza que si escribe accidentalmente command > file_to_append_toen un archivo existente, le avisará de que el archivo ya existe. Mensaje de error de muestra:file exists: testFile.txt

Por lo tanto, cuando lo use >solo le permitirá crear un archivo nuevo, no sobrescribir un archivo existente.

craft avatar Oct 21 '2017 13:10 craft

Usar tee con la opción -a (--append) le permite agregar varios archivos a la vez y también usar sudo (muy útil al agregar archivos protegidos). Además de eso, es interesante si necesita utilizar otros shells además de bash, ya que no todos los shells admiten los operadores > y >>

echo "hello world" | sudo tee -a output.txt

Este hilo tiene buenas respuestas sobre tee.

victortv avatar Jul 12 '2019 20:07 victortv