perl script.pl 2>&1 >errorTestnormal.out | tee -a errorTestnormal.out > errorTest.out
hará lo que usted desea.
Esto es un poco complicado, vamos a ir paso a paso.
- Nos dicen lo que solía ir a
STDERR
ahora irá STDOUT
- Decimos lo que solía ir a
STDOUT
ahora irá a errorTestnormal.out.
Así que ahora, STDOUT
se imprime en un archivo, y STDERR
que se imprime a STDOUT
. Queremos poner STDERR
en 2 archivos diferentes, lo que podemos hacer con tee. T agrega el texto que se le da a un archivo, y también hace eco al STDOUT
.
- Utilizamos
tee
para anexar a errorTestnormal.out
, por lo que ahora contiene toda la STDOUT
y STDERR
salida del script.pl
.
- A continuación, se escribe
STDOUT
de tee
(que contiene STDERR
de script.pl
) en errorTest.out
Después de esto, errorTestnormal.out
tiene toda la salida STDOUT
, y luego toda la salida STDERR
. errotTest.out
contiene solo la salida STDERR
.
Desplácese sobre las etiquetas que ha agregado, los seguidores de stdout/stderr = 7 en total. Obtendrás más ojos en tu problema si incluyes una etiqueta para el caparazón que estás utilizando, bash, ¿supongo? Buena suerte. – shellter