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

  • bmarian22

    bmarian22

    22 Aralık 2007
  • eisleyhead

    eisleyhead

    11 Ocak 2006
  • Kurtindo Pop Games

    Kurtindo Pop

    2 HAZİRAN 2013