SORU
13 EYLÜL 2008, CUMARTESİ


Nasıl birden çok işlem (tercihen) isimsiz Unıx (veya Windows) boruları kullanarak bir sürecin stdout gönderebilir miyim?

İki işlem proc2 ve proc3 işlemi proc1 stdout yönlendirmek istiyorum

         proc2 -> stdout
       /
 proc1
       \ 
         proc3 -> stdout

Denedim

 proc1 | (proc2 & proc3)

ama işe yaramıyor yani

 echo 123 | (tr 1 a & tr 1 b)

yazar

 b23

stdout yerine

 a23
 b23

CEVAP
13 EYLÜL 2008, CUMARTESİ


Unıx (veya mac), tee command: kullanın

$ echo 123 | tee >(tr 1 a)  | tr 1 b
b23
a23

Genellikle birden fazla dosya çıktısını yönlendirmek, ama ^ kullanarak tee kullanırsınız . (...) başka bir işlem için yönlendirin. Yani, genel olarak

$ proc1 | tee >(proc2) ... >(procN-1) | procN

ne istiyorsun.

Windows altında, yerleşik sanmıyorum kabuk bir karşılığı da var. Microsoft Windows PowerShell rağmen tee bir komut vardır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Day9TV

    Day9TV

    22 NİSAN 2010
  • Video Copilot

    Video Copilo

    21 EYLÜL 2006
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008