リダイレクトの奥義

exec 3>&1; grep yyy xxx 2>&1 1>&3 3>&- | sed s/file/foobar/ 1>&2 3>&-
grep: xxx: No such foobar or directory
device=/dev/rmt8
dd_noise='^[0-9]+\+[0-9]+ records (in|out)$'
exec 3>&1
status=`((dd if=$device ibs=64k 2>&1 1>&3 3>&- 4>&-; echo $? >&4) |
	egrep -v "$dd_noise" 1>&2 3>&- 4>&-) 4>&1`
exit $status;

http://www.kiso.tsukuba.ac.jp/~makimura/text/node239.html


標準出力とエラー出力を別々のファイルに書き出し、画面にも表示したい。
http://mlog.euqset.org/archives/linux-users/102278.html

標準出力はstdout.txtに保存
標準エラー出力はerror.txtに保存
さらにコンソールには標準出力とエラー出力の両方を表示したい。

$ mkfifo p_stdout
$ mkfifo p_stderr
$ tee stdout.txt < p_stdout &
$ tee stderr.txt < p_stderr &
$ コマンド 1> p_stdout 2> p_stderr
$ rm p_std???
で、できました。