Tôi đang cố gắng xem có bao nhiêu lần foo bar
xuất hiện /var/log/foo.log
trong một khoảng thời gian tùy ý trên một máy chủ từ xa, nhưng không có gì mà tôi đã thử cho đến nay đã hoạt động.
Tôi đã có một tập lệnh hẹn giờ mà tôi sử dụng để theo dõi xem nó đã tồn tại bao lâu kể từ khi tôi bắt đầu theo đuôi /var/log/foo.log
, và bây giờ tôi giống như một cách để biết bao nhiêu lần foo bar
đã xuất hiện trong đầu ra đuôi.
Tôi đã tìm kiếm google, nhưng tôi không tìm thấy bất cứ điều gì thích hợp trong vòng 10 trang đầu tiên của kết quả.
Đây là những gì tôi đã thử với kết quả bực bội:
## 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}'
Tôi thậm chí đã cố gắng viết một kịch bản sed mà hành động như thế tail -f
, nhưng tôi đã giới hạn không có gì với nó.
CHÚ THÍCH
máy chủ từ xa đang chạy phiên bản lõi cũ hơn và nâng cấp là một tùy chọn, nhưng KHÔNG phải là giải pháp mong muốn.
--line-buffered
tùy chọn đểgrep
. Hoặctail -f ... | awk '/foo bar/{print ++n, $0}'