Il comando tee legge l'input standard, invia l'output al dispositivo di output predefinito (CLI) e copia anche l'output in ogni file specificato. Questo comando consente di verificare immediatamente l'output di un comando e di archiviare tale output in un file per riferimenti successivi. Come xargs, tee in genere accetta l'input da un altro comando utilizzando l'operatore pipe.
Se utilizzato con l'opzione -a, tee aggiunge l'output a ciascun file di output invece di sovrascriverlo.
Sintassi
La sintassi generale del comando tee è:
# command [options] [arguments] | tee [options] {file names}
Supponiamo che tu voglia controllare il contenuto di una directory e anche esportare tali contenuti in un file per l'elaborazione in un secondo momento. Puoi emettere comandi separati per farlo, oppure puoi usare il comando tee in questo modo:
# ls -l | tee listing.txt
Se incontri un errore di seguito durante l'esecuzione del comando tee:
tee: command not found
puoi provare a installare il pacchetto seguente secondo la tua scelta di distribuzione:
Distribuzione | Comando |
---|---|
OS X | brew install coreutils |
Debian | apt-get install coreutils |
Ubuntu | apt-get install coreutils |
Alpino | apk aggiunge coreutils |
Arci Linux | pacman -S coreutils |
Kali Linux | apt-get install coreutils |
CentOS | yum install coreutils |
Fedora | dnf installa coreutils |
Raspbian | apt-get install coreutils |
Esempi di comando tee
1. Copia lo standard input in ogni file e anche nello standard output:
# echo "example" | tee path/to/file
2. Aggiungi ai file indicati, non sovrascrivere:
# echo "example" | tee -a path/to/file
3. Stampa l'input standard sul terminale e invialo anche a un altro programma per l'ulteriore elaborazione:
# echo "example" | tee /dev/tty | xargs printf "[%s]"
4. Creare una directory chiamata “esempio”, contare il numero di caratteri in “esempio” e scrivere “esempio” sul terminale:
# echo "example" | tee >(xargs mkdir) >(wc -c)