Stdout et stderr vers 2 fichiers differents

Résolu/Fermé
santiago69 Messages postés 477 Date d'inscription mercredi 7 mars 2001 Statut Membre Dernière intervention 12 septembre 2016 - 2 juin 2008 à 00:20
 :) - 1 févr. 2012 à 22:16
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

A voir également:

2 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
2 juin 2008 à 00:50
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
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".
0