Saltar la navegación

tee

El comando tee nos permite capturar la información que fluye en una interconexión entre comandos y guardarla en un fichero o varios, sin interrumpir la interconexión.

La sintáxis habitual de tee dentro de una interconexión es la siguente:

orden1 | tee fichero... | orden2

La orden tee lo que hace es leer de la entrada estándar y mandar esta información a los ficheros especificados y a la salida estándar, así no interfiere en la interconexión de orden1 con orden2.

$ ls -l tmp | tee listado | wc -l
6
$ cat listado
total 40
-rw-r--r-- 1 usuario vboxsf     0 sep  3 19:27 carta.txt
-rw-r--r-- 1 usuario vboxsf  5541 sep  3 19:30 cp.man
drwxr-sr-x 2 usuario vboxsf  4096 sep  3 19:30 d
-rw-r--r-- 1 usuario vboxsf 20981 sep  3 19:28 ls.man
-rw-r--r-- 1 usuario vboxsf  4061 sep  3 19:29 rm.man

Los ficheros de la orden tee se crean si no existen o se sustituyen si existen. La opción noclobber no influye en tee, solo en los redireccionamientos.

Si queremos que los ficheros de tee no se sustituyan sino que la nueva información se añada a ellos, usaríamos la opción -a:

$ who | tee -a listado | wc -l
2
$ cat listado
total 40
-rw-r--r-- 1 usuario vboxsf     0 sep  3 19:27 carta.txt
-rw-r--r-- 1 usuario vboxsf  5541 sep  3 19:30 cp.man
drwxr-sr-x 2 usuario vboxsf  4096 sep  3 19:30 d
-rw-r--r-- 1 usuario vboxsf 20981 sep  3 19:28 ls.man
-rw-r--r-- 1 usuario vboxsf  4061 sep  3 19:29 rm.man
usuario  tty7         2013-09-04 12:42 (:0)
usuario  pts/0        2013-09-05 19:43 (:0)

 

Licencia: licencia de software libre GPL