2008-09-15 7 views
4

emreder. Bu konuda yardımcı olacak bir program bilen var mı? Herhangi bir yeni aşama için otomatik olarak son aşamanın çıkışını kullanmaya devam edecektir. Bunu genellikle her komutun sonucunu geçici bir dosyaya göndererek yapıyorum (yani, her komutun birer birer komutunu çalıştırın), ancak bir programın bunu işlemesi güzel olurdu.Debugger

ben her sekme her boru komutuyla etiketlenir ve bir sekmeyi seçerek önceki sonuca göre bu komutu uygulayarak çıktı (en az yüz hatları) gösterir bir sekmeli arayüzü gibi bir şey öngörülüyor.

+0

tee bu program otomatik olarak yapması gereken manuel işi yapmak için beni gerektirir. –

cevap

5

Kullan 'tee' öylesine gibi bazı dosyaya dışarı ara sonuçları kopya yanı sıra borunun bir sonraki aşamaya bunları aktarmak:

cat /var/log/syslog | tee /tmp/syslog.out | grep something | tee /tmp/grep.out | sed 's/foo/bar/g' | tee /tmp/sed.out | cat >>/var/log/syslog.cleaned 
1

tee (1) arkadaşın. Girişini hem belirtilen dosyaya hem de stdout'a gönderir.

Boruları arasına yapıştırın. Örneğin:

ls | tee /tmp/out1 | sort | tee /tmp/out2 | sed 's/foo/bar/g' 
2

sen (yani netcat ile) çift yönlü iletişimi gerekiyorsa da boruları kullanabilirsiniz:

mknod backpipe p 
nc -l -p 80 0<backpipe | tee -a inflow | nc localhost 81 | tee -a outflow 1>backpipe 

(via)

1

Orada da var "PV" komutu - mevcuttur Borularinizin verimliliğini gösteren debian/ubuntu repostitories.

adam sayfasından bir örnek: başka bir işlem bir dosya aktarma ve pv beklenen büyüklüğünü geçtikten:

  cat file | pv -s 12345 | nc -w 1 somewhere.com 3000