Saya ingin melakukan sesuatu seperti ini:
watch tail -f | wc -l
#=> 43
#=> 56
#=> 61
#=> 44
#=> ...
Ia menghitung garis ekor baru setiap detik
/ Linux, CentOs
Agar lebih jelas. Saya mendapatkan sesuatu seperti ini:
tail -f /var/log/my_process/*.log | grep error
Saya membaca beberapa pesan kesalahan. Dan sekarang saya ingin menghitungnya. Berapa banyak ~ kesalahan yang saya dapatkan dalam sedetik. Jadi satu baris dalam log adalah satu kesalahan dalam suatu proses.
tail -f /path/to/file
sendiri. Jika Anda ingin menonton baris file, Anda dapat menggunakanwatch wc -l /path/to/file
.tail -f /var/log/my_process/*.log |grep error > /tmp/error.lines & ; watch wc /tmp/error.lines
? Lalu lakukan matematika.Jawaban:
Saya baru saja menemukan pv, dan ini sangat keren, Anda dapat melakukan sesuatu seperti
tail -f logfile | pv -i2 -ltr > /dev/null
sumber
Inilah metode cepat dan kotor. Anda pada dasarnya ingin memecah
tail
danwatch wc
menjadi bagian-bagian yang terpisah, dan melakukan sesuatu seperti:pada titik itu, Anda bisa melakukan matematika untuk mendapatkan nomor kesalahan / detik. Tetapi, jika Anda hanya melakukan ini untuk pemeriksaan satu kali dari tingkat kesalahan Anda, cepat dan kotor mungkin cukup baik.
sumber
Dalam hal pv tidak tersedia dapat dilakukan dengan perl:
Setiap satu detik:
Setiap 10 detik
Output sampel:
sumber
Anda dapat mencoba sesuatu seperti ini:
Ini mencetak nomor baris di depan setiap baris.
sumber
nl
akan melakukan ini, tidak memerlukan panggilan untuk perl.