Jika Anda hanya mencari satu kemungkinan dan ingin tetap berada di shell daripada menggunakan awkatau perl, Anda bisa melakukan sesuatu seperti:
tail -F /path/to/serverLog |
grep --line-buffered 'server is up' |
while read ; do my_command ; done
... yang akan berjalan my_commandsetiap kali " server habis " muncul di file log. Untuk beberapa kemungkinan, Anda mungkin dapat menjatuhkan grepdan alih-alih menggunakan casedalam while.
Modal -Fmengatakan tailuntuk menonton file log menjadi diputar; yaitu jika file saat ini diganti namanya dan file lain dengan nama yang sama menggantikannya, tailakan beralih ke file baru.
The --line-bufferedpilihan memberitahu grepuntuk flush buffer setelah setiap baris; jika tidak, my_commandmungkin tidak dapat dijangkau secara tepat waktu (dengan asumsi log memiliki garis yang cukup besar).
tail -Funtuk menangani rotasi log - yaitumy.logmenjadi penuh dan bergerak kemy.log.1dan proses Anda membuat yang barumy.log