Bonsoir,

Je souhaite faire des graphiques avec le programme gnuplot de linux a partir du résultat de la commande dstat.
Je cherche donc a adapter le résultat donné par dstat dans la mesure où celui-ci indique des valeurs en Megas, K, Bytes et ainsi tout mettre dans la même unité.
J'ai essayé des solutions dans un script bash avec sed, expr... sans succès.
Voici un résumé de ce que j'ai et ce que je souhaite obtenir ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
2989M 26.2M 2899M 55.7M|  27B 2280B|  20M   11M|5344    20k
3033M 25M 2871M 40.2M| 218B 4164B|5717k 3326k|1747  5930
Et ce que je souhaite obtenir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
2989000000 26200000 2899000000 55700000|  27 2280|  20000000   110000000|5344    20000
3033000000 25000000 2871000000 40200000| 218 4164|5717000 3326k|1747  5930
Il n'est pas bien compliqué de remplacer les M et K en 6 ou 3 zeros, le problème se situe dans les cas où dstat indique 27.4M par ex.

J'ai des expressions régulières comme ci dessous mais je ne parviens pas à récupérer dans 2 variables différentes le résultat des sous chaines 458 et 5 par ex.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
msg="458.5M";
expr "$msg" : '\([0-9]\+\)\.\([0-9]\+\)M'
Si quelqu'un a une autre méthode je suis preneur

Merci d'avance,
Cordialement,
Benoit