pv
là mệnh lệnh của bạn! P ipe V iewer in các số liệu thống kê về dữ liệu đi qua nó và có thể chạy bất cứ nơi nào trong đường ống của bạn, vì nó dẫn stdin trực tiếp đến thiết bị xuất chuẩn. Ví dụ:
tail -f /var/log/nginx/access.log | pv --line-mode --rate > /dev/null
Các pv
bản in lệnh để thiết bị lỗi chuẩn số lượng hiện tại của các dòng trong một giây (mặc định là byte mỗi giây), trong đó, đối với nguồn dữ liệu đặc biệt này (log file mặc định Nginx của), tương đương với các yêu cầu web đến mỗi giây. Tôi chỉ quan tâm đến số lượng, vì vậy tôi bỏ ống ra /dev/null
. Ngoài ra còn có các tùy chọn như:
-b
(tổng số dòng),
--average-rate
(tỷ lệ trung bình kể từ khi bắt đầu) và
--timer
(theo dõi thời gian đường ống đã đi).
Nếu bạn không nói --line-mode
, nó sẽ đếm byte, có lẽ không phải là thứ bạn muốn cho nhật ký máy chủ, nhưng có thể tiện dụng ở những nơi khác.
Lưu ý cuối cùng: ... | pv -lb > file.txt
rất giống ... | tee file.txt | awk '{printf "\r%lu", NR}'
, cũng tiện cho việc đếm dòng, nhưng pv
cuộc gọi ngắn hơn, mặc dù đầu ra không thú vị lắm - pv
cập nhật mỗi giây theo mặc định, trong khi awk
lệnh đó cập nhật liên tục.