pv
adalah perintahmu! P ipe V iewer mencetak statistik tentang data yang melewatinya, dan dapat berjalan di mana saja dalam pipa Anda, karena itu pipa stdin langsung ke stdout. Sebagai contoh:
tail -f /var/log/nginx/access.log | pv --line-mode --rate > /dev/null
The pv
perintah cetak ke stderr saat ini jumlah baris per detik (default adalah byte per detik), yang, untuk sumber data tertentu (default file log Nginx ini), setara dengan permintaan web yang masuk per detik. Saya hanya peduli dengan hitungan, jadi saya memasukkan pipa ke /dev/null
. Ada juga opsi seperti:
-b
(jumlah total garis),
--average-rate
(tingkat rata-rata sejak awal), dan
--timer
(melacak berapa lama pipa telah berlangsung).
Jika Anda tidak mengatakannya --line-mode
, itu akan menghitung byte, yang mungkin bukan yang Anda inginkan untuk log server, tetapi bisa berguna di tempat lain.
Catatan akhir: ... | pv -lb > file.txt
sangat mirip ... | tee file.txt | awk '{printf "\r%lu", NR}'
, yang juga berguna untuk menghitung baris, tetapi pv
panggilannya jauh lebih pendek, meskipun outputnya tidak terlalu menarik - pv
pembaruan setiap detik secara default, sementara awk
perintah itu diperbarui terus menerus.