If I have a process a.out
I can do ./a.out | grep foo
to see stdout of a.out filtered by foo. I can also say ./a.out 2>&1 | grep foo
to see both err and out filtered by foo. With the tee
command I can send stdout to both the terminal and possibly a file output. But is there a way to filter those separately? as in:
./a.out | tee grep foo file.txt
but such that what goes to file.txt
is filtered to match foo but not what I see on the screen...or even better what I see on the screen gets filtered by baz instead of foo? If there isn't a way to do so in bash already I would write my own "tee" but I would imagine there is some way...