У меня есть приложение, которое будет производить большое количество данных, которые я не хочу хранить на диске. Приложение в основном выводит данные, которые я не хочу использовать, но набор полезной информации, которая должна быть разбита на отдельные файлы. Например, с учетом следующего вывода:
JUNK
JUNK
JUNK
JUNK
A 1
JUNK
B 5
C 1
JUNK
Я мог запустить приложение три раза так:
./app | grep A > A.out
./app | grep B > B.out
./app | grep C > C.out
Это даст мне то, что я хочу, но это займет слишком много времени. Я также не хочу записывать все выходные данные в один файл и анализировать его.
Есть ли способ объединить три операции, показанные выше, таким образом, что мне нужно всего лишь запустить приложение один раз и получить три отдельных выходных файла?
./app | tee >(grep A > A.out) >(grep B > B.out) | grep C > C.out