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

  • Amazon Web Services

    Amazon Web S

    8 NİSAN 2009
  • Matthew Morrill

    Matthew Morr

    15 EKİM 2011
  • Tube Time

    Tube Time

    14 Mayıs 2013