> i run "cvs update > /dev/null" or "cvs update | sed -e 's/<expression>/yyy/'" 
> it still prints the same thing it always does.  how do i capture this 
> information?

cvs prints many of its messages to standard error (STDERR) instead of
standard output. In bourne-like shells (including bash), you use 2>
instead of > to redirect stderr (in csh-like shells it's different). See
the bash (or csh) man page for more information. Additionally, Google
found these pages with some information and examples:

        http://tomecat.com/jeffy/tttt/shredir.html
        http://www.losurs.org/docs/redirection

In your example, if you wanted to pass both stdout and stderr (this is,
everything cvs prints out) to a command, you could simply do:

cvs update 2>&1 | sed -e 's/<expression>/yyy/'

If you wanted to pass only stderr, it gets more complicated:

(cvs update > /dev/null) 2>&1 | sed -e 's/<expression>/yyy/'

Again: these examples work only in Bourne shell and its derivatives.

--Diego



--
[EMAIL PROTECTED] mailing list

Reply via email to