Comandi: tee

Comandi: tee

Supponiamo di voler ordinare una lista e voler contemporaneamente vederla e salvarne il contenuto in un file. Con i normali operatori di redirezione e pipe non si può fare, Per fortuna c'è tee che provvede a salvare su un file il cui nome viene specificato come argomento quanto proviene dallo stdin e a inviarlo contemporanamente allo stdout.

Ad esempio:

$ ls / | sort | tee test.txt
bin
boot
cdrom
dev
etc
home
[...]

In questo esempio l'output di ls / | sort viene visualizzato e contemporaneamente salvato nel file test.txt.

Possiamo anche usare l'output di tee in un altro comando tramite una pipe:

$ ls / | tee test.txt | sort -r
vmlinuz.old
vmlinuz
var
usr
tmp
sys
[...]

Qui abbiamo salvato nel file test.txt l'ouput di ls / e contemporaneamente lo abbiamo passato al comando sort -r che poi lo visualizza in ordine alfabetico inverso. Nel file test.txt invece i dati saranno nell'ordine originale proposto da ls:

$ cat test.txt 
bin
boot
dev
etc
home
cdrom
[...]

Eventualmente è possibile fare in modo che tee accodi i dati al file specificato, invece di creare un file nuovo, usando lo switch -a (che sta per append).

Ad esempio:

$ ls | tee -a test.txt | sort -r

accoda al file test.txt la lista dei file della directory corrente e poi la stampa in ordine alfabetico inverso.

Currently there are no comments, so be the first!