Eu tenho um aplicativo que produzirá uma grande quantidade de dados que não desejo armazenar no disco. O aplicativo emite principalmente dados que não desejo usar, mas um conjunto de informações úteis que devem ser divididas em arquivos separados. Por exemplo, dada a seguinte saída:
JUNK
JUNK
JUNK
JUNK
A 1
JUNK
B 5
C 1
JUNK
Eu poderia executar o aplicativo três vezes da seguinte maneira:
./app | grep A > A.out
./app | grep B > B.out
./app | grep C > C.out
Isso me daria o que eu quero, mas levaria muito tempo. Também não quero despejar todas as saídas em um único arquivo e analisar isso.
Existe alguma maneira de combinar as três operações mostradas acima de forma que eu só precise executar o aplicativo uma vez e ainda assim obter três arquivos de saída separados?
./app | tee >(grep A > A.out) >(grep B > B.out) | grep C > C.out