Script bash grep et awk de l' aide svp

Résolu
administratordelamuerté -  
Bonjour,

Voila dasn un script jai cette ligne de commande:

"smartctl -a /dev/sda | grep Current | grep Temperature"

Le résultat est ceci(selon la température au moment de l'execution de la commande du disque dur monitoré):

"Current Drive Temperature: 44 C"

J aimerais juste recuperer le chiffre "44" le mettre en valeur(var1) et le comparé a une valeur prédéfinie(ex var3=70)

Puis si elle ets superieure executé cette ligne :

" echo "attention température disque dur actuellement a $var3 (actuellement $var1)" >> /etc/temphddmulti.txt "

J ai beau fr des recherche (et tests) sur grep et awk j ai du mal a saisir correctement les man de ces commandes

Merci d'avance

4 réponses

  1. Contributeur
    Salut,

    $ echo $B
    Current Drive Temperature: 44 C
    
    $ echo $B | egrep -o "[[:digit:]]*"
    44

    ;-))
    1. Modérateur
      ho, je connaissais pas le -o pour le grep...
      y'a moyen de faire des choses sales avec ça et les expressions régulières :)
  2. merci pour ta repose aussi rapide !!!!!
    c fous ce que l on peut s embrouiller a force de chercher...
    je me compliquer gravement la tache
    encore merci
    1. Modérateur
      attention, l'affichage ne permet pas d'afficher les bonnes commandes

      en #!/bin/sh
      var1=AltGr+7 smartctl -a /dev/sda | grep Current | grep Temperature|awk '{print $4}'AltGr+7
      if [ $var1 -gt $var3 ]; then
      echo "attention température disque dur actuellement a" $var3 " (actuellement" $var1 ")" >> /etc/temphddmulti.txt
      fi
      Stop failing the turing test !