Stdout et stderr vers 2 fichiers differents [Résolu/Fermé]

Signaler
Messages postés
477
Date d'inscription
mercredi 7 mars 2001
Statut
Membre
Dernière intervention
12 septembre 2016
-
 :) -
Salut a tous,
Je cherche a lancer une commande dont le resultat s'affiche a l'ecran (stdout + stderr)
Mais je voudrais en plus que stdout soit copie dans file1
et que stderr soit copie dans file2.
Le probleme, c'est que tee ne recupere que la sortie standard, pas la sortie d'erreur.
Quelqu'un a une idee ?
Santiago

2 réponses

Messages postés
29277
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
3 septembre 2020
6 928
Je mets dans plop.c :
#include <stdio.h>

int main(){
    fprintf(stdout,"j'écris dans stdout\n");
    fprintf(stderr,"j'écris dans stderr\n");
    return 0;
}

Je compile (ce qui crée l'exécutable a.out) et je lance l'exécutable :
(mando@aldur) (~) $ gcc -W -Wall plop.c
(mando@aldur) (~) $ ./a.out
j'écris dans stdout
j'écris dans stderr
(mando@aldur) (~) $ ./a.out 1>>plop.txt 2>>plop.txt
(mando@aldur) (~) $ cat plop.txt
j'écris dans stderr
j'écris dans stdout

Bonne chance
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61014 internautes nous ont dit merci ce mois-ci

1>filename
# Redirect stdout to file "filename".

1>>filename
# Redirect and append stdout to file "filename".

2>filename
# Redirect stderr to file "filename".

2>>filename
# Redirect and append stderr to file "filename".

&>filename
# Redirect both stdout and stderr to file "filename".