Kévin Subileau

Espace personnel

Rediriger vers un fichier en conservant l'affichage

Dans un script Bash, il peut arriver que l'on souhaite rediriger la sortie d'une commande vers un fichier tout en conservant l'affichage sur l'écran. L'astuce consiste simplement à utiliser la commande tee. Par exemple, le code :

echo "toto" | tee monfichier

Permet donc d'afficher toto sur l'écran tout en l'écrivant dans le fichier monfichier. Si le fichier n'existe pas il sera créé, sinon son contenu sera écrasé.

Il est également possible de spécifier plusieurs fichiers :

echo "toto" | tee monfichier autrefichier encoreun

Enfin, si l'on souhaite ajouter la sortie aux fichiers indiqués plutôt que de les écraser, il faut spécifier l'option -a ou --append :

echo "toto" | tee -a monfichier autrefichier encoreun

Quelques options supplémentaires sont disponibles, voir le man de tee ! Pour se souvenir du nom de cette commande, on peut faire l'analogie avec un T de plomberie, en sachant que la lettre T se prononce tee en anglais ;) tee