So ermitteln Sie die durchschnittliche Fließgeschwindigkeit in einem Rohr

So ermitteln Sie die durchschnittliche Fließgeschwindigkeit in einem Rohr

Wenn myfilemit der Zeit zunimmt, kann ich die Anzahl der Zeilen pro Sekunde ermitteln mit

tail -f | pv -lr > /dev/null

Es gibt eine momentane Geschwindigkeit an, keine Durchschnittsgeschwindigkeit.

Wie kann ich die Durchschnittsgeschwindigkeit ermitteln (also das Integral der Geschwindigkeitsfunktion v(t)über die Überwachungszeit)?

Antwort1

Ab pv1.2.0 (Dezember 2010) gibt es die -aOption:

Hier jeweils mit aktuellem und durchschnittlichem Wert, zeilenweise:

$ find / 2> /dev/null | pv -ral > /dev/null
[6.28k/s] [70.1k/s]

Ab 1.3.8 (Oktober 2012) und neuer können Sie -F/ auch --formatmit verwenden %a:

$ find / 2> /dev/null | pv -lF 'current: %r, average: %a'  > /dev/null
current: [4.66k/s], average: [ 218k/s]

Beachten Sie, dass tail -fzunächst die letzten 10 Zeilen der Datei ausgegeben werden. Verwenden Sie diese Option, tail -n 0 -f file | pv -laum diese Verzerrung bei der Berechnung der Durchschnittsgeschwindigkeit zu vermeiden.

verwandte Informationen