J'ai une application qui produira une grande quantité de données que je ne souhaite pas stocker sur le disque. L'application produit principalement des données que je ne souhaite pas utiliser, mais un ensemble d'informations utiles qui doivent être divisées en fichiers séparés. Par exemple, étant donné la sortie suivante :
JUNK
JUNK
JUNK
JUNK
A 1
JUNK
B 5
C 1
JUNK
Je pourrais exécuter l'application trois fois comme ceci :
./app | grep A > A.out
./app | grep B > B.out
./app | grep C > C.out
Cela m'obtiendrait ce que je veux, mais cela prendrait trop de temps. Je ne veux pas non plus vider toutes les sorties dans un seul fichier et les analyser.
Existe-t-il un moyen de combiner les trois opérations présentées ci-dessus de manière à ce que je n'aie besoin d'exécuter l'application qu'une seule fois et que j'obtienne toujours trois fichiers de sortie distincts ?
Réponse acceptée :
Si vous avez té
./app | tee >(grep A > A.out) >(grep B > B.out) >(grep C > C.out) > /dev/null
(d'ici)
(à propos de la substitution de processus)