2013-03-10 17 views
15

Günlük Dosyaları'nda hiçbir Özel Durum bulunmadığı takdirde, bir Sesi duymak istiyorum.Kuyrukta sed ile birlikte nasıl kullanılır.

Bash komut dosyası kullanıyorum.

Ama ne yazık ki kuyruk sed ile birlikte kullanıldığında, işe yaramıyor.

Aşağıdaki komutları denedim ve burada gönderiyorum.

tail -f mylogs.log | grep "Exception" | sed -e $'s/Exception/Exception\a/' 



tail -f mylogs.log | sed -e $'s/Exception/Exception\a/' 



tail -f mylogs.log | grep "Exception" | sed -e $'s/Exception/Exception\a/' 
+0

+1, '$' 'yapısını. Bunu daha önce hiç görmedim. –

cevap

25

sorun terminale yazmıyor o grep gördüğü, bu yüzden sonunda sed tek seferde işleyebilir büyük parçalar yazarken, çıkışını tamponlar.

tail -f mylogs.log \ 
    | grep --line-buffered Exception \ 
    | sed -u -e $'s/Exception/Exception\a/' 

(Ben de grep 'ın --line-buffered seçenek benzer olan sed için -u bayrak ekledik dikkat edin: gelir gelmez kullanıma sunulur sunulmaz satırları yazdırmak için bunu söylemek için --line-buffered seçeneğini kullanın Benim testimde bu komut için bir fark yaratmış gibi görünmüyordu, ama bunun tam olarak bunu içermek daha iyi olduğunu düşünüyorum.)

+0

Gözlem: '$ 's/İstisna/İstisna \ a /'' metnin değişmesi gibi görünmüyor, fakat '$ 's/Exception/Exception \\\ a /'' sistemimde var. –

+0

@ruakh, Sadece komutu denedim, sadece metni kaydeder, ancak ses yok. Herhangi bir ayar yapmam gerekiyor mu? – Kiran

+0

@ another.anon.coward: 'a' uyarı (çan) karakteridir; Çizginin görsel görünümünü etkilemeden bir bip sesi çıkarır. – ruakh

İlgili konular