GNU/Linux: salvare output dei comandi con tee

Oggi un comando semplicissimo che fa una sola cosa molto utile, in perfetta filosofia Unix: tee. Prende l’output del comando che gli passiamo in una pipe e lo scrive su un file, mostrandolo anche sullo schermo. Il nome viene dal raccordo a T dell’idraulica, quello che sdoppia il flusso dell’acqua: qui, visto che parliamo di pipe, cioè di tubi, l’idea calza a pennello.

L’uso base

Prendiamo un comando qualunque, il mio classico ls. Voglio salvarne l’output in un file ma anche vederlo a schermo. Con la redirezione normale il file si crea, ma sullo schermo non compare niente: per vedere cosa c’è dentro devo aprire il file.

ls > prova.txt

Con tee invece vediamo l’output del comando sullo schermo e, insieme, otteniamo il file con lo stesso contenuto:

ls | tee prova.txt

L’output è stato sdoppiato: una copia sullo standard output, una copia nel file.

Aggiungere invece di sovrascrivere

Il comportamento normale di tee è sovrascrivere il file di destinazione. Se invece vogliamo aggiungere in fondo, si usa l’opzione -a (append):

ls | tee -a prova.txt

L’output a schermo è lo stesso, ma se ora facciamo cat del file vediamo che l’output del comando compare due volte: la seconda è stata accodata alla fine.

cat prova.txt

Per finire

tee è davvero semplice e, come dicevo, questa è praticamente la sola opzione utile che ha. Con questo vi ho detto tutto. Aprite la vostra Linux box e provatelo.

Link e risorse

Sostieni il canale

PER SOSTENERE IL CANALE BASTANO UN LIKE E UN’ISCRIZIONE!
ma se vuoi offrirmi un caffè, mi aiuterà a rimanere sveglio mentre registro i video 😁☕
clicca qui per scoprire come https://buymeacoffee.com/thelinuxnerd

questi link sono affiliati Amazon, acquistando i libri che ti consiglio sostieni il canale!