tee linux: mandar la salida de un comando a dos sitios

Tee Linux
Imágen: wikipedia

Tee es un comando Linux (bueno, realmente está disponible en Unix, 4DOS/4NT y Windows PowerShell) que permite copiar la entrada estándar de un comando a un archivo y así mismo seguir teniendo salida estándar por pantalla/terminal.
Copia la entrada estándar a cada ARCHIVO, y también a salida estándar.

Vamos a ver un ejemplo sencillo, ejecutamos el comando ps y a su vez volcamos su salida a un fichero:

$ ps | tee ps.txt
  PID TTY          TIME CMD
 2901 pts/6    00:00:00 bash
 3111 pts/6    00:00:00 ps
 3112 pts/6    00:00:00 tee
$ cat ps.txt 
  PID TTY          TIME CMD
 2901 pts/6    00:00:00 bash
 3111 pts/6    00:00:00 ps
 3112 pts/6    00:00:00 tee

Hemos verificado que el contenido de la salida se ha almacenado en el fichero ps.txt y a su vez seguimos visualizandolo por pantalla, si no usaramos el comando tee y volcaramos la salida a un fichero no lo veríamos por pantalla (ver artículo redirigir stdin, stdout y stderr en Unix/Linux):

$ ps > ps.txt

El comando tee tiene muchas más posibilidades, recuerdo por ejemplo el artículo en el que explicabamos como guardar un fichero dentro de VIM cuando no tenemos permisos en vim:

:w !sudo tee %
[sudo] password for alex:

Un comentario en “tee linux: mandar la salida de un comando a dos sitios

Comments are closed.