GNU/Linux
comando tee
Ricerca…
introduzione
tee - legge dallo standard input e scrive su output e file standard.
Il comando tee prende il nome dallo splitter a T nell'impianto idraulico, che divide l'acqua in due direzioni e ha la forma di un T. maiuscolo.
tee copia i dati dall'input standard a ciascun FILE e anche all'output standard. In effetti, tee duplica il suo input, indirizzandolo a più uscite contemporaneamente.
Sintassi
- tee [OPTION] ... [FILE] ...
Parametri
| Opzioni | Descrizione |
|---|---|
| -a, --appende | Aggiungi al FILE specificato. Non sovrascrivere. |
| -i, --ignore-interrupts | Ignora i segnali di interruzione. |
| --Aiuto | Mostra un messaggio di aiuto ed esce. |
| --versione | Visualizza le informazioni sulla versione e esci. |
Osservazioni
Se un FILE è specificato come un trattino ("-"), tee scrive di nuovo sullo standard output.
Scrivi output su stdout e anche su un file
Il seguente comando visualizza l'output solo sullo schermo (stdout).
$ ls
Il seguente comando scrive l'output solo sul file e non sullo schermo.
$ ls > file
Il seguente comando (con l'aiuto del comando tee ) scrive l'output sia sullo schermo (stdout) che sul file.
$ ls | tee file
Scrivi l'output dal centro di una catena di condotte a un file e passa di nuovo alla pipe
È inoltre possibile utilizzare il comando tee per memorizzare l'output di un comando in un file e reindirizzare lo stesso output a un altro comando.
Il seguente comando scriverà le voci crontab correnti in un file crontab-backup.txt e passerà le voci crontab al comando sed , che eseguirà la sostituzione. Dopo la sostituzione, verrà aggiunto come nuovo cron job.
$ crontab -l | tee crontab-backup.txt | sed 's/old/new/' | crontab –
scrivere l'output su più file
È possibile reindirizzare l'output su più file (incluso il terminale) usando tee come questo:
$ ls | tee file1 file2 file3
Istruire il comando tee per aggiungere al file
Per impostazione predefinita, il comando tee sovrascrive il file. Puoi tee a tee di aggiungere al file usando l'opzione –a come mostrato sotto.
$ ls | tee –a file