Bonjour,
Merci pingouinux mais chez moi cela ne marche que pour les petites valeurs avec un remplacement du point par une virgule
Problème de langue ?
Le script test modifié :
#!/bin/bash
# paramètres
Liste=$1
echo "$Liste"
# variante avec awk
# A1 120920
echo "ci-dessous resultats :"
awk 'BEGIN { FS=" § " }
{
TBits=$3;
print "TBits="TBits,"$3="$3;
SumTaille += TBits;
print "SumTaille="SumTaille;
printf "La taille : "$2 " est de :" $3 "======> La Taille bits :" TBits "\n"
}
END { print "\n Somme totale="SumTaille
print " Nombre de fichier examinés :" NR
}
' "$Liste"
echo "------------------------------------------------------------------------------------------------"
CalculTaille=$(awk 'BEGIN { FS=" § " } { TBits=$3; SumTaille += TBits; } END { print SumTaille }' "$Liste")
echo "
Affiche la taille :$CalculTaille"
CalculTailleBytes=$(awk 'BEGIN { FS=" § " } { TBits=$3; SumTaille += TBits; } END { print SumTaille }' "$Liste")
echo " ---------------------------------------------------------------------------
Affiche la taille avant traitment par numfmt :$CalculTailleBytes"
CT_point=$(echo "$CalculTailleBytes" | numfmt --to=iec-i --suffix=B)
echo "CT_point=$CT_point"
CT_Virgule=$(echo "$CalculTailleBytes" | sed 's/\./,/p' | numfmt --to=iec-i --suffix=B)
echo "CT_Virgule=$CT_Virgule"
Ci-dessous test petites valeurs
$ cat ListeTestOri2
T2Racine/Ori1 § FOri2_FichTexte1_cpie.txt § 0.27 § Sat Sep 12 14:58:06.9196414060 2020 § dernier accès le vendredi 11 septembre 2020 à 10:12:54.0000000000 § 0cbbff1c0f1c5bdc5ce8e2b8f483e560
T2Racine/Ori3 § Ori1_Txt3_cpie.txt § 9.53 § Sat Sep 12 14:58:06.9236413290 2020 § dernier accès le vendredi 11 septembre 2020 à 10:12:54.0000000000 § 5f23e93ab5621913919e1fce7334a945
T2Racine/Ori2 § Ori1_Txt2_cpie.txt § 1.04 § Sat Sep 12 14:58:06.9076416410 2020 § dernier accès le vendredi 11 septembre 2020 à 10:12:54.0000000000 § 24add2d0aab64565d873c2587e2e04a3
T2Racine/Ori1 § Ori3_Txt1_cpie § 9.53 § Sat Sep 12 14:58:06.9196414060 2020 § dernier accès le vendredi 11 septembre 2020 à 10:12:54.0000000000 § 470d6bd60f4fdf9316fff259525bfdfe
donne le resultat :
$ ./V2_CalculTaille.sh ListeTestOri2
ListeTestOri2
ci-dessous resultats :
TBits=0.27 $3=0.27
SumTaille=0.27
La taille : FOri2_FichTexte1_cpie.txt est de :0.27======> La Taille bits :0.27
TBits=9.53 $3=9.53
SumTaille=9.8
La taille : Ori1_Txt3_cpie.txt est de :9.53======> La Taille bits :9.53
TBits=1.04 $3=1.04
SumTaille=10.84
La taille : Ori1_Txt2_cpie.txt est de :1.04======> La Taille bits :1.04
TBits=9.53 $3=9.53
SumTaille=20.37
La taille : Ori3_Txt1_cpie est de :9.53======> La Taille bits :9.53
Somme totale=20.37
Nombre de fichier examinés :4
------------------------------------------------------------------------------------------------
Affiche la taille :20.37
---------------------------------------------------------------------------
Affiche la taille avant traitment par numfmt :20.37
numfmt: suffixe incorrect en entrée : «20.37»
CT_point=
CT_Virgule=21B
21B
ci-dessous test avec grandes valeurs:
Le fichier ListeTestOri1 :
$ cat ListeTestOri1
T2Racine/Ori1 § FOri2_FichTexte1_cpie.txt § 0.00275733 § Sat Sep 12 14:58:06.9196414060 2020 § dernier accès le vendredi 11 septembre 2020 à 10:12:54.0000000000 § 0cbbff1c0f1c5bdc5ce8e2b8f483e560
T2Racine/Ori3 § Ori1_Txt3_cpie.txt § 9.53674e+06 § Sat Sep 12 14:58:06.9236413290 2020 § dernier accès le vendredi 11 septembre 2020 à 10:12:54.0000000000 § 5f23e93ab5621913919e1fce7334a945
T2Racine/Ori2 § Ori1_Txt2_cpie.txt § 1.04904e+05 § Sat Sep 12 14:58:06.9076416410 2020 § dernier accès le vendredi 11 septembre 2020 à 10:12:54.0000000000 § 24add2d0aab64565d873c2587e2e04a3
T2Racine/Ori1 § Ori3_Txt1_cpie § 9.53674e+04 § Sat Sep 12 14:58:06.9196414060 2020 § dernier accès le vendredi 11 septembre 2020 à 10:12:54.0000000000 § 470d6bd60f4fdf9316fff259525bfdfe
Le résultat :
$ ./V2_CalculTaille.sh ListeTestOri1
ListeTestOri1
ci-dessous resultats :
TBits=0.00275733 $3=0.00275733
SumTaille=0.00275733
La taille : FOri2_FichTexte1_cpie.txt est de :0.00275733======> La Taille bits :0.00275733
TBits=9.53674e+06 $3=9.53674e+06
SumTaille=9.53674e+06
La taille : Ori1_Txt3_cpie.txt est de :9.53674e+06======> La Taille bits :9.53674e+06
TBits=1.04904e+05 $3=1.04904e+05
SumTaille=9.64164e+06
La taille : Ori1_Txt2_cpie.txt est de :1.04904e+05======> La Taille bits :1.04904e+05
TBits=9.53674e+04 $3=9.53674e+04
SumTaille=9.73701e+06
La taille : Ori3_Txt1_cpie est de :9.53674e+04======> La Taille bits :9.53674e+04
Somme totale=9.73701e+06
Nombre de fichier examinés :4
------------------------------------------------------------------------------------------------
Affiche la taille :9.73701e+06
---------------------------------------------------------------------------
Affiche la taille avant traitment par numfmt :9.73701e+06
numfmt: suffixe incorrect en entrée : «9.73701e+06»
CT_point=
numfmt: suffixe incorrect en entrée : «9,73701e+06»
CT_Virgule=
Merci