Pages : 1
#1 Le 28/10/2019, à 07:55
- Rugix
Incrémention de variable
Bonjour,
Ici cela me permet de calculer la moyenne et les valeurs extrêmes d'un Ping.
sum=0
nb_line=0
vmin=999999999 # Valeur supérieure à toutes celles du fichier
vmax=0 # Valeur inférieure à toutes celles du fichier
while read val
do
sum=$(bc <<<"$sum+$val")
((nb_line++))
[[ $(bc <<<"$val<$vmin") -eq 1 ]] && vmin=$val
[[ $(bc <<<"$val>$vmax") -eq 1 ]] && vmax=$val
done < fichier
moy=$(bc -l <<<"$sum/$nb_line")
Se que je voudrais faire et que je n'arrive pas c'est que a chaque fois qu'il passe dans cette partie qu'il incremente la variable Moy afin que cela donne :
moy1
moy2
moy3
...
Dernière modification par Rugix (Le 28/10/2019, à 07:58)
Hors ligne
#2 Le 28/10/2019, à 08:07
- pingouinux
Re : Incrémention de variable
Bonjour,
Se que je voudrais faire et que je n'arrive pas c'est que a chaque fois qu'il passe dans cette partie qu'il incremente la variable Moy afin que cela donne :
moy1
moy2
moy3
Si tu veux imprimer la progression de la moyenne quand tu lis le fichier, il suffit de calculer la moyenne à l'intérieur de la boucle, et de l'imprimer.
Hors ligne
#3 Le 28/10/2019, à 10:08
- Rugix
Re : Incrémention de variable
Bonjour,
Merci de la réponse, je n'ai pas bien compris votre explication.
Mais je précise ma demande, l'objectif est de Ping toutes les 5 min puis au bout d'une heure de faire la moyenne et à la fin de 24h stocker ça dans un tableau html, dans celui ci j'ai mis moy1, moy2...moy24.
Et du coup à chaque fois qu'il passe dans la boucle j'aimerais qu'il commence à moy1 et qu'il augmente le numéro de la variable +1 afin d'afficher
moy1
moy2
moy3
Hors ligne
#4 Le 28/10/2019, à 10:31
- pingouinux
Re : Incrémention de variable
Peut-être ceci ?
sum=0
nb_line=0
vmin=999999999 # Valeur supérieure à toutes celles du fichier
vmax=0 # Valeur inférieure à toutes celles du fichier
while read val
do
sum=$(bc <<<"$sum+$val")
((nb_line++))
[[ $(bc <<<"$val<$vmin") -eq 1 ]] && vmin=$val
[[ $(bc <<<"$val>$vmax") -eq 1 ]] && vmax=$val
moy=$(bc -l <<<"$sum/$nb_line")
echo moy$nb_line=$moy
done < fichier
Hors ligne
#5 Le 28/10/2019, à 13:53
- Rugix
Re : Incrémention de variable
Bonjour,
Merci de votre réponse cela affiche bien moy1=35.45,moy2=35.68.....
Mais j'aimerais avoir la possibilité d'appeler chaque moyenne avec $moy1,$moy2...
Avez-vous une idée ?
Dernière modification par Rugix (Le 28/10/2019, à 17:15)
Hors ligne
#6 Le 28/10/2019, à 18:02
- kamaris
Re : Incrémention de variable
Était-il nécessaire d'ouvrir trois fils portant à peu près sur le même sujet (sans compter ceux sur d'autres forums ) ?
https://forum.ubuntu-fr.org/viewtopic.php?id=2044824
https://forum.ubuntu-fr.org/viewtopic.php?id=2045017
Sinon tu peux utiliser un tableau pour tes moyennes :
moy+=( $(bc -l <<<"$sum/$nb_line") )
echo moy$nb_line=${moy[-1]}
Hors ligne