GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué forma de redirigir la salida de un programa y todavía hacer que vaya a la salida estándar?

Bueno. Si quisiera redirigir la salida de un programa a un archivo, haría algo como esto

prog > file

Si quisiera redirigir tanto stdout como stderr a ese archivo, lo haría

prog > file 2>&1

Todo esto está muy bien si desea que la salida vaya al archivo. Pero, ¿qué sucede si desea que la salida vaya al archivo y aún así vaya a stdout/stderr? Por lo tanto, la salida se guarda en el archivo, pero aún puede verlo en la consola mientras se ejecuta el programa. ¿Hay una manera de hacer eso? Y si es así, ¿cómo?

Respuesta aceptada:

tee existe para este propósito; toma un argumento de nombre de archivo y escribe los datos que lee desde stdin a stdout y al archivo:

$ prog 2>&1 | tee file

Linux
  1. ¿Qué significa conectar Stdout y Stdin?

  2. ¿Mostrar solo Stderr en pantalla pero escribir tanto Stdout como Stderr en el archivo?

  3. redirección de salida sobre la marcha, viendo la salida de redirección de archivos mientras el programa aún se está ejecutando

  4. Redirigir toda la salida al archivo en Bash

  5. ¿Cómo redirigir la salida de system() a un archivo?

Cómo redirigir stderr a stdout en Bash

Cómo redirigir la salida del comando de shell

¿Cuál es la diferencia de redirigir una salida usando >, &>, >&y 2&>?

¿Cómo redirigir stderr y stdout a diferentes archivos en la misma línea en el script?

Redirección de salida de comando a archivo y terminal

¿Cómo puedo hacer que tcpdump escriba en el archivo y genere de forma estándar los datos apropiados?