Mise en forme de résultats

Mise en forme de résultats - Shell/Batch - Programmation

Marsh Posté le 10-04-2008 à 09:51:58    

Bonjour,
 
Je débute dans le scipting shell et je souheterai faire quelque chose de pas trop compliqué j'éspère.
 
Le but est de récupérer que certaines valeurs d'un benchmark (Bonnie++).
 
http://img186.imageshack.us/img186/1703/nasyb8ay7.jpg
 
Je souheterai arriver à un résultat de ce type au niveau de l'affichage (juste ces 3 lignes) :
 
Résultats tests bonnie++:
Ecriture block : OK  
Lecture block : OK
 
Avec une condition si valeur lecture block>20000 => OK else Failed
Avec une condition si valeur ecriture block>50000 => OK else Failed
 
Mon principal problème est au niveau du grep pour récupérer la bonne valeure, le résultat donné par bonnie n'est pas formaté simplement  :o  
Je pense que le plus simple est de récupérer la 3 eme valeur et la 9eme valeur dans la dernière ligne récapitulative... mais je ne sais pas comment faire pour l'indiquer
 
 

Reply

Marsh Posté le 10-04-2008 à 09:51:58   

Reply

Marsh Posté le 10-04-2008 à 10:22:54    

A ce niveau, faut plus utiliser grep mais passer par du awk...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 10-04-2008 à 17:04:15    

Quelque chose du genre :

bonnie++ -u 0 | \
awk '
END {
   print "Résultats tests bonnie++:"  
   print "Ecriture block :", ($3 > 50000 ? "OK" : "Failed" )  
   print "Lecture block :", ($7 > 20000 ? "OK" : "Failed" )
} '


 
Jean-Pierre.
 

Reply

Marsh Posté le 17-04-2008 à 21:32:31    

Merci bien à seve@r et Jean-Pierre, ça correspond exactement à ce que je cherchais ;) .
 
Bon du coup ça m'a donné des idées :)
 
J'aimerai bien afficher la valeur obtenu ($3 et $7) aprés le OK ou le Failed et dans la mesure du possible ne pas afficher toutes les phases de tests (Writing... Rewriting... etc)
 
Je compte également par la suite rajouter des paramètres? Peut on passer des paramètres à un script ?
Ex: sh monscript.sh -x 3     (-x 3 correspond à 3 lancements du test)
 
Si ce n'est pas le cas, puis-je inclure un mode interactif ?
Ex:  
sh monscript.sh  
"Combien de tests voulez-vous effectuer?"
3
bonnie++ -u 0 -X $reponse3
...

Message cité 1 fois
Message édité par Trailx original le 17-04-2008 à 21:35:21
Reply

Marsh Posté le 18-04-2008 à 17:56:34    

Les trois petites modifications doivent répondre à tes besoins :

Code :
  1. bonnie++ -u 0 "$@" | \
  2. awk '
  3. END {
  4.    print "Résultats tests bonnie++:" 
  5.    print "Ecriture block :", ($3 > 50000 ? "OK" : "Failed" ), $3
  6.    print "Lecture block :", ($7 > 20000 ? "OK" : "Failed" ), $7
  7. } '

 
A l'appel du script, tu peux spécifier les options à passer à ta commande bonnie++; par exemple :

Code :
  1. monscript.sh -x 3


 
Jean-Pierre.

Reply

Marsh Posté le 21-04-2008 à 20:32:28    

Trailx original a écrit :


Je compte également par la suite rajouter des paramètres? Peut on passer des paramètres à un script ?
Ex: sh monscript.sh -x 3     (-x 3 correspond à 3 lancements du test)


Cours de shell complet en français ici => http://fr.lang.free.fr/cours/Shell_v2.0.pdf


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 23-04-2008 à 16:10:05    

sympa ca  ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed