perl script.pl 2>&1 >errorTestnormal.out | tee -a errorTestnormal.out > errorTest.out
Will do what you want.
This is a bit messy, lets go through it step by step.
- We say what used to go to
STDERR
will now go STDOUT
- We say what used to go to
STDOUT
will now go to errorTestnormal.out.
So now, STDOUT
gets printed to a file, and STDERR
gets printed to STDOUT
. We want put STDERR
into 2 different files, which we can do with tee. tee appends the text it's given to a file, and also echoes to STDOUT
.
- We use
tee
to append to errorTestnormal.out
, so it now contains all the STDOUT
and STDERR
output of script.pl
.
- Then, we write
STDOUT
of tee
(which contains STDERR
from script.pl
) into errorTest.out
After this, errorTestnormal.out
has all the STDOUT
output, and then all the STDERR
output. errotTest.out
contains only the STDERR
output.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…