pv
เป็นคำสั่งของคุณ! P ipe V iewer พิมพ์สถิติเกี่ยวกับข้อมูลที่ผ่านมาและสามารถทำงานได้ทุกที่ในไปป์ไลน์ของคุณเนื่องจากจะส่งข้อมูลไปยัง stdout โดยตรง ตัวอย่างเช่น:
tail -f /var/log/nginx/access.log | pv --line-mode --rate > /dev/null
pv
พิมพ์คำสั่งเพื่อ stderr หมายเลขปัจจุบันของสายต่อวินาที (ค่าเริ่มต้นคือไบต์ต่อวินาที) ซึ่งสำหรับแหล่งข้อมูลนี้โดยเฉพาะ (ล็อกไฟล์เริ่มต้นของ Nginx) เท่ากับหน้าเว็บที่เข้ามาต่อวินาที ฉันจะดูแลเกี่ยวกับการนับจำนวนเพื่อให้ท่อ stdout /dev/null
ฉันเข้าไป นอกจากนี้ยังมีตัวเลือกเช่น:
-b
(จำนวนบรรทัดทั้งหมด)
--average-rate
(อัตราเฉลี่ยตั้งแต่เริ่มต้น) และ
--timer
(ติดตามความยาวของท่อที่เกิดขึ้น)
หากคุณไม่บอกว่า--line-mode
จะนับจำนวนไบต์ซึ่งอาจไม่ใช่สิ่งที่คุณต้องการสำหรับบันทึกเซิร์ฟเวอร์ แต่อาจมีประโยชน์ในที่อื่น
Final note: ... | pv -lb > file.txt
มีลักษณะคล้ายกันมาก... | tee file.txt | awk '{printf "\r%lu", NR}'
ซึ่งมีประโยชน์สำหรับการนับจำนวนบรรทัด แต่การpv
โทรสั้นลงอย่างมากแม้ว่าเอาต์พุตจะไม่น่าตื่นเต้นเท่าไหร่ - pv
อัปเดตทุกวินาทีตามค่าเริ่มต้นในขณะที่awk
คำสั่งนั้นจะอัปเดตอย่างต่อเนื่อง