Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 wink) ?
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