Bonjour,
Je cherche à faire la somme de la colonne 8 du fichier ftmp81.csv;
et à utiliser cette valeur pour un calcul.
Pour cela, comme les variables ne contiennent que des chaînes de caractères, il faut transformer cette chaîne de caractère en une valeur numérique.
C'est cela que je n'arrive pas à faire : passer une valeur numérique à la variable variable1 qui sera utilisée comme diviseur.

Aussi, je ne sais pas comment arrondir le résultat du calcul ((100 * $7) / variable1) à deux chiffres après la virgule.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cut -f2,4-10,12,14,16,19,22,25,28 -d";" fedition.csv > ftmp81.csv
 
f1 (){
gawk -N -F ';' ' {SUM += $8} END {echo SUM}' ftmp81.csv
}
variable1=$f1
echo "La valeur de la variable1 est :$variable1"
#
#Réorganisation des champs en sortie: 2  3  1  10  12  14  4  5  15  13  11  7  8  9  6
gawk -N -F ';'  -v var1=1.00 '
{
	# var1=((100 * $7) / variable1)
	var1=((100 * $7) / 141964)
	print $2";"$3";"$1";"$10";"$12";"$14";"$4";"$5";"$15";"$13";"$11";"$7";"$8";"$9";"$6";"var1
} ' ftmp81.csv > ftmp82.csv
Résultat (début):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Liamm@HAL42:~/projets/Eb_Shell_21$ ./p8.sh
La valeur de la variable1 est :f1
 
 
2021-03-11 16:08 Oui, Jérome c'est moi, je n'ai pas changé, je suis toujours celui que tu as aimé .   .   .   . Tri valeur croissante .   .   .   .   Page 1
 
 
Date_rel Qte__    Valeur_______________      Pu_mini  Der_ach  Pu_o_ac  Pu_____  Px_moy   Pu_o_ve  Der_ven  Pu_maxi  Valoris  Somme_i  Perfo    P_va     P_si
 
20210305 260      2CRSI****************      1,86     4,82              5,920    6,339             #N/D     10,25    1539,2   1648,14  -6,60988 0,85     1,08422
 
20210305 383      ADEUNIS RF***********      1,85     4,7               2,590    6,835             #N/D     7,269    991,97   2617,8   -62,1068 0,55     0,698748