GNU/Linux >> Tutoriels Linux >  >> Linux

Manière de rediriger la sortie d'un programme et de l'avoir toujours sur Stdout ?

D'accord. Si je voulais rediriger la sortie d'un programme vers un fichier, je ferais quelque chose comme ça

prog > file

Si je voulais rediriger à la fois stdout et stderr vers ce fichier, alors je le ferais

prog > file 2>&1

C'est très bien si vous voulez que la sortie aille dans le fichier. Mais que se passe-t-il si vous voulez que la sortie aille dans le fichier tout en continuant à stdout/stderr ? Ainsi, la sortie est enregistrée dans le fichier, mais vous pouvez toujours la voir sur la console pendant que le programme est en cours d'exécution. Y-a-t-il un moyen de faire ça? Et si oui, comment ?

Réponse acceptée :

tee existe à cet effet ; il prend un argument de nom de fichier et écrit les données qu'il lit de stdin à la fois à stdout et au fichier :

$ prog 2>&1 | tee file

Linux
  1. Comment rediriger la sortie vers un fichier et Stdout sous Linux

  2. Sortie vers Stdout et en même temps Grep dans un fichier ?

  3. Rediriger et canaliser la sortie ?

  4. Afficher uniquement Stderr à l'écran, mais écrire à la fois Stdout et Stderr dans un fichier ?

  5. Comment rediriger la sortie vers un fichier et stdout

Comment rediriger stderr vers stdout dans Bash

Comment rediriger la sortie de la commande shell

redirection de sortie à la volée, voir la sortie de redirection de fichier pendant que le programme est toujours en cours d'exécution

Comment rediriger stderr et stdout vers différents fichiers dans la même ligne de script ?

Comment puis-je faire en sorte que tcpdump écrive dans un fichier et que la sortie standard affiche les données appropriées?

bash :redirige stderr vers le fichier et stdout + stderr vers l'écran