¿Cómo agregar la salida a un archivo?


125

¿Cómo puedo hacer algo como command > fileque se anexe al archivo, en lugar de sobrescribirlo?


1
(Hay montones y montones de - quizás demasiados - objetos valiosos en el manual de referencia de fiesta que incluye todo tipo de redirecciones Ajuste según sea necesario para la cáscara..)

44
También puede usar tee, si desea redirigir a STDOUT y agregar resultados a un archivo. Por ejemplo: echo "hola" | tee -a somefile.txt, donde la bandera -a significa agregar.
Henrik

Respuestas:



103

Si.

command >> filepara redirigir solo stdout de command.

command >> file 2>&1para redirigir stdout y stderr al archivo (funciona en bash, zsh)

Y si necesita usar sudo, recuerde que solo

sudo command >> /file/requiring/sudo/privilegesno funciona, ya que la elevación de privilegios se aplica commandpero no a la parte de redirección de shell. Sin embargo, simplemente usando teeresuelve el problema:

command | sudo tee -a /file/requiring/sudo/privileges


66
Estoy usando esto para todos los programas de captura de salida. Sh 2> & 1 | tee -a screen.log. "-a" significa agregar.
Xdg

-3

Puede agregar el archivo con >> signo. Inserta el contenido al final del archivo que estamos utilizando, por ejemplo, si el archivo deja que su nombre sea myfile contiene xyz, entonces cat >> myfile abc ctrl d

Después del proceso anterior, el archivo myy contiene xyzabc.


44
El >>operador ya fue mencionado tres años antes, y el OP sabe lo que significa agregar.
Dan Dascalescu
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.