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

  • A Alkhaldi

    A Alkhaldi

    12 Mayıs 2007
  • LimeFire

    LimeFire

    2 ŞUBAT 2012
  • mist64

    mist64

    30 Mayıs 2006