Selon Christophe LYON <christophe.lyon@???>:
> > j'aimerais utiliser grep sur cette sortie et là je coince avec |
> > puis-je changer par un moyen du shell la sortie sur laquelle travaille "|"
> > j'aimerais éviter de sortir 2> dans un fichier ou recompiler wget.
> >
> > dans une redirection je sais différentier les flux par ">" ou "2>"
> > mais il n'existe pas un "2|" !
>
> il faut utiliser 2>&1 |
> ce qui donne:
> wget -S 2>&1 | grep toto
>
> Je te conseille de bien relire le man sh a ce sujet, c'est pas
> forcement evident de bien comprendre ou placer le 2>&1 :-)
On peut faire beaucoup plus simple (ie crade) avec les super-fonctions de
manipulation de descripteurs de fichiers de Bash !
# Redirecting only stderr to a pipe.
exec 3>&1 # Save current "value" of stdout.
ls -l 2>&1 >&3 3>&- | grep bad 3>&- # Close fd 3 for 'grep' (but not 'ls').
# ^^^^ ^^^^
exec 3>&- # Now close it for the remainder of the
script.
# Thanks, S.C.
Sans oublier l'ouverture de fd directement sur le réseau avec
exec 3<>/dev/tcp/machine/port Ultime ! ;)
Chez Debian, ils disent: pas bien, utiliser netcat ! Moi, je dis: Cooool !
Juste pour dire de faire attention si cela ne marche pas sur Debian, il faut
lire le README des packagers - au cas où.
Source (bhein oui, je ne l'ai pas inventé...):
http://tldp.org/LDP/abs/html/io-redirection.html
A+
--
Yves Martin