Jeśli myfilerośnie z czasem, mogę uzyskać liczbę linii na sekundę za pomocą
tail -f | pv -lr > /dev/null
Daje natychmiastową prędkość, a nie średnią.
Jak mogę uzyskać średnią prędkość (tj. Całkę funkcji prędkości v(t)w czasie monitorowania).
Jeśli myfilerośnie z czasem, mogę uzyskać liczbę linii na sekundę za pomocą
tail -f | pv -lr > /dev/null
Daje natychmiastową prędkość, a nie średnią.
Jak mogę uzyskać średnią prędkość (tj. Całkę funkcji prędkości v(t)w czasie monitorowania).
Odpowiedzi:
W wersji pv1.2.0 (grudzień 2010 r.) I nowszych dostępna jest -aopcja:
Tutaj zarówno bieżące, jak i średnie, oparte na linii:
$ find / 2> /dev/null | pv -ral > /dev/null
[6.28k/s] [70.1k/s]
W wersji 1.3.8 (październik 2012 r.) I nowszych możesz także używać -F/ --formatz %a:
$ find / 2> /dev/null | pv -lF 'current: %r, average: %a' > /dev/null
current: [4.66k/s], average: [ 218k/s]
Zauważ, że tail -fzaczyna się od zrzucenia ostatnich 10 linii pliku. Użyj, tail -n 0 -f file | pv -laaby uniknąć tego błędu w obliczaniu średniej prędkości.