Ten cuidado aquí; solo atraparlos terminará mezclando los resultados de formas que quizás no desee: por ejemplo, si son archivos de registro, probablemente no quiera una línea insertada a la mitad de una línea desde la otra. Si eso está bien, entonces
tail -f / tmp / p1 / tmp / p2> / tmp / output
trabajará. Si eso no está bien, entonces tendrá que encontrar algo que haga el almacenamiento en línea y solo genere líneas completas. Syslog hace esto, pero no estoy seguro de qué más podría hacer.
EDITAR: optimización para lectura sin búfer y canalizaciones con nombre:
considerando / tmp / p1, / tmp / p2, / tmp / p3 como canalizaciones con nombre, creado por "mkfifo / tmp / p N "
cola -q -f / tmp / p1 / tmp / p2 | awk '{print $ 0> "/ tmp / p3"; close ("/ tmp / p3"); fflush ();} '&
ahora de esta manera, podemos leer la salida llamada pipe "/ tmp / p3" sin buffer por:
cola -f / tmp / p3
hay un pequeño error de tipo, debe "inicializar" la primera tubería de entrada / tmp / p1 de la siguiente manera:
echo -n> / tmp / p1
para seguir , aceptará primero la entrada de la segunda tubería / tmp / p2 y no esperará hasta que algo llegue a / tmp / p1. este puede no ser el caso, si está seguro, el / tmp / p1 recibirá primero la entrada.
También se necesita la opción -q para que cola no imprima basura sobre nombres de archivos.