Un comando tar normal
tar cvf foo.tar ./foo >foo.out 2>foo.err
tiene tres flujos de salida de E / S
- archivar datos en foo.tar
- lista de nombres de archivo a STDOUT (redirigido a foo.out)
- mensajes de error a STDERR (redirigido a foo.err)
Luego puedo inspeccionar foo.err en busca de mensajes de error sin tener que leer la lista de nombres de archivo.
si quiero hacer algo con los datos del archivo (canalizarlos a través de netcat o un programa de compresión especial), puedo usar la -f -
opción tar
tar cvf - ./foo 2>foo.err | squish > foo.tar.S
Pero ahora mi lista de nombres de archivo se mezcla con mis mensajes de error porque la -v
salida de tar obviamente no puede ir a STDOUT (ahí es donde fluyen los datos del archivo), por lo que tar escribe ingeniosamente en STDERR.
Usando el shell Korn, ¿hay alguna manera de construir un comando que canalice la secuencia de archivo a otro comando pero aún así capture la -v
salida por separado de cualquier mensaje de error.
tee
? Esto parece un caso de uso bastante válido para ello.