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

  • André Frizzo

    André Frizz

    16 Aralık 2006
  • ElChakotay Andrich

    ElChakotay A

    10 EKİM 2013
  • kimberly p

    kimberly p

    23 Ocak 2010