Yalnızca bir olasılık arıyorsanız ve awkveya kullanmak yerine çoğunlukla kabuğun içinde kalmak perlistiyorsanız, aşağıdakileri yapabilirsiniz:
tail -F /path/to/serverLog |
grep --line-buffered 'server is up' |
while read ; do my_command ; done
... my_commandher zaman çalışacak olan " sunucu çalışıyor " günlük dosyasında görünür. Birden çok olasılığı için, belki düşebilir grepve bunun yerine bir kullanmak caseiçinde while.
Başkent , günlük dosyasının döndürülmesini izlemesini -Fsöyler tail; yani eğer mevcut dosya yeniden adlandırılırsa ve aynı isimde başka bir dosya yerini alırsa tail, yeni dosyaya geçer.
--line-bufferedSeçenek söyler grepher satırdan sonra onun tampon temizlemek; Aksi taktirde, my_commandzaman zaman ulaşılamaz (kütüklerin makul boyutlarda çizgileri olduğu varsayılarak).
tail -Fkütük dönüşünü idare etmek için kullandığınızdan emin olun - yanimy.logdolgun hale gelir ve ilerlermy.log.1ve süreciniz yeni bir şey yaratırmy.log