Bonjour,

J'essaie de créer un petit script afin de convertir mes débits récupérés en mb/s

Voici un exemple de mon fichier entrant :
/tmp/aaa.txt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
0.00 b/s
13.50 kb/s
0.00 b/s
8.26 kb/s
0.00 b/s
12.98 kb/s
0.00 b/s
0.00 b/s
5.14 kb/s
0.00 b/s
0.00 b/s
1.46 mb/s
0.00 b/s
2.83 mb/s
J'ai essayé de passer par une boucle for pour traiter les chiffres et un case pour traiter les unités.

Cependant cela ne fonctionne pas comme je le souhaiterai, pouvez-vous m'aider svp ?
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
16
17
18
data=$(cat /tmp/aaa.txt | awk '{print $1}')
 
for element in $data
do
        units=$(cat /tmp/aaa.txt | awk '{print $2}')
 
        case $units in
                "b/s")
                        calcul=$(($element / 1024 / 1024))
                        echo "$calcul mb/s"
                        ;;
 
                "kb/s")
                        calcul=$(($element / 1024))
                        echo "$calcul mb/s"
                        ;;
                esac
done