Saya mencoba untuk melihat berapa kali foo bar
muncul /var/log/foo.log
dalam jumlah waktu yang sewenang-wenang pada server jauh, tetapi tidak ada yang saya coba sejauh ini yang berhasil.
Saya sudah punya skrip pengatur waktu yang saya gunakan untuk melacak berapa lama sejak saya mulai membuntuti /var/log/foo.log
, dan sekarang saya hanya ingin cara untuk mengetahui berapa kali foo bar
telah muncul di keluaran berekor.
Saya mencari di Google, tetapi saya tidak menemukan sesuatu yang relevan dalam 10 halaman pertama hasil.
Inilah yang saya coba dengan hasil yang membuat frustrasi:
## works on local machine, but doesn't work as expected on remote
tail -f /var/log/foo.log | grep foo\ bar | sed '='
## works on local, but not remote
tail -f /var/log/foo.log | grep foo\ bar | cat -n -
## works on local, but not remote
tail -f /var/log/foo.log | grep foo\ bar | awk -F'\n' '{printf "[%d]> ", NR; print $1}'
Saya bahkan mencoba untuk menulis skrip sed yang akan bertindak seperti tail -f
, tapi saya membuat kemajuan tanpa batas dengan itu.
CATATAN
server jarak jauh menjalankan versi coreutils yang lebih lama, dan memutakhirkan adalah suatu pilihan, tetapi TIDAK dengan cara apa pun solusi yang diinginkan.
--line-buffered
opsi untukgrep
. Atautail -f ... | awk '/foo bar/{print ++n, $0}'