Bonjour,

Comment utiliser les "expressions régulières" dans la fonction case/esac?
Je cherche à en établir une pour un texte que je recois en argument :
CRITICAL - 10.28.2.2: rta nan, lost 100%
Voici ce que j'ai essayé mais sans grand résultat:
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
19
20
21
22
23
DATE=`date +%Y%m%d`
PATH="/software/nagios/libexec/eventhandlers/"
HOSTNAME="$3"
FILE=event-"$DATE"-"$HOSTNAME"
cd $PATH
 
echo "start event"  >$FILE
echo "value 1 : $1" >>$FILE
echo "value 2 : $2" >>$FILE
echo "value 3 : $3" >>$FILE
echo "value 4 : $4" >>$FILE
echo "value 5 : $5" >>$FILE
echo "value 6 : $6" >>$FILE
echo "end event"    >>$FILE
 
case $6 in
  ´CRITICAL *.*.*.*: rta nan, lost 100%´ )
        echo "yes"
        ;;
  *)
        echo "non"
        ;;
esac
Dois-je plutôt essayer les []... ou plutôt awk, sed? il faut aussi dire que parfois je mélange les expression régulière du shell et du perl! comment ne pas se mélanger les pinceaux...?
Quelqu'un a-t-il une idée ou une piste???
Merci
nm