On Tue, Oct 08, 2002 at 01:34:40PM +0200, Remi Suinot wrote:
> Bonjour;
> 
> Je suis confront� � un petit probl�me:
> j'ai un r�pertoire, dont je scanne le contenu avec dpkg-scanpackages,
> mais je n'arrive pas � rediriger la sortie de celui-ci pour avoir uniquement
> le nom des paquets en double. Exemple:
> 
> # dpkg-scanpackages essai overide > essai_double.txt     


man bash

Un programme a essentiellement 3 "streams": stdin (entr�e
clavier/pipe) stdout (sortie �cran/pipe) stderr

stderr r�cup�re typiquement les erreurs/warnings etc. �a
permet de faire un pipe avec des "erreurs" sans embeter les
programmes qui suivent, genre:

find . -name "*" | xargs grep truc > sortie

grep va se plaindre � chaque fois que find envoie un
r�pertoire. �a n'est pas en soit un probl�me (c'est pas
fatal), donc on pr�vient sur stderr sans mettre les messages
d'erreur dans "sortie".

  >  ne redirige que stdout

Pour rediriger stderr, il faut copier le decripteur 2 sur le
decripteur 1 ce qui se fait en rajoutant 2>&1 � la fin, si
je me souviens bien:

# dpkg-scanpackages essai overide > essai_double.txt  2>&1

(�a "mixe" stdout et stderr)

Je crois qu'on peut aussi ne rediriger que stderr:

# dpkg-scanpackages essai overide 2> essai_double.txt

Mais je suis plus s�r, faut relire la page man de bash

HTH,
Y.



Répondre à