Comment obtenir une vitesse d'écoulement de tuyau moyenne

16

Si myfileaugmente avec le temps, je peux obtenir le nombre de lignes par seconde en utilisant

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

Il donne une vitesse instantanée, pas moyenne.

Comment puis-je obtenir la vitesse moyenne (c'est-à-dire l'intégrale de la fonction de vitesse v(t)sur le temps de surveillance).

user123456
la source

Réponses:

15

Avec pv1.2.0 (décembre 2010) et au-dessus, c'est avec l' -aoption:

Ici, avec la ligne actuelle et la moyenne:

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

Avec 1.3.8 (octobre 2012) et plus récent, vous pouvez également utiliser -F/ --formatavec %a:

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

Notez que cela tail -fcommence par vider les 10 dernières lignes du fichier. Utilisez tail -n 0 -f file | pv -lapour éviter ce biais dans votre calcul de vitesse moyenne.

Stéphane Chazelas
la source