pves tu comando! P ipe V iewer imprime estadísticas sobre los datos que pasan a través de él y puede ejecutarse en cualquier lugar de su canalización, ya que canaliza stdin directamente hacia stdout. Por ejemplo:
tail -f /var/log/nginx/access.log | pv --line-mode --rate > /dev/null
El pvcomando imprime para stderr el número actual de líneas por segundo (el valor predeterminado es bytes por segundo), lo que, para esta fuente de datos en particular (el archivo de registro predeterminado de Nginx), equivale a las solicitudes web entrantes por segundo. Solo me importan los recuentos, así que me conecto con stdout /dev/null. También hay opciones como:
-b (número total de líneas),
--average-rate (tasa promedio desde el inicio), y
--timer (rastrea cuánto tiempo ha estado funcionando la tubería).
Si no lo dice --line-mode, contará bytes, lo que probablemente no sea lo que desea para los registros del servidor, pero podría ser útil en otros lugares.
Nota final: ... | pv -lb > file.txtes muy similar ... | tee file.txt | awk '{printf "\r%lu", NR}', lo que también es útil para contar líneas, pero la pvllamada es mucho más corta, aunque el resultado no es tan emocionante: las pvactualizaciones se realizan cada segundo por defecto, mientras que ese awkcomando se actualiza continuamente.