Saya memiliki aplikasi yang akan menghasilkan sejumlah besar data yang tidak ingin saya simpan ke dalam disk. Aplikasi ini sebagian besar mengeluarkan data yang tidak ingin saya gunakan, tetapi sekumpulan informasi berguna yang harus dipecah menjadi file terpisah. Misalnya, diberikan output berikut:
JUNK
JUNK
JUNK
JUNK
A 1
JUNK
B 5
C 1
JUNK
Saya bisa menjalankan aplikasi tiga kali seperti ini:
./app | grep A > A.out
./app | grep B > B.out
./app | grep C > C.out
Ini akan mendapatkan apa yang saya inginkan, tetapi itu akan memakan waktu terlalu lama. Saya juga tidak ingin membuang semua output ke satu file dan menguraikannya.
Apakah ada cara untuk menggabungkan ketiga operasi yang ditunjukkan di atas sedemikian rupa sehingga saya hanya perlu menjalankan aplikasi sekali dan masih mendapatkan tiga file output terpisah?
Jawaban yang Diterima:
Jika Anda memiliki kaus
./app | tee >(grep A > A.out) >(grep B > B.out) >(grep C > C.out) > /dev/null
(dari sini)
(tentang proses substitusi)