Bonjour,
Comment réaliser un script shell qui me renvoie le message "defaut onduleur" si les valeurs 16, 24 ou 28 sont trouvées dans la colonne 3 (après la date et l'heure) du fichier texte ci joint,
Merci de votre aide
un novice
Bonjour,
Comment réaliser un script shell qui me renvoie le message "defaut onduleur" si les valeurs 16, 24 ou 28 sont trouvées dans la colonne 3 (après la date et l'heure) du fichier texte ci joint,
Merci de votre aide
un novice
Bonsoir.
Voici un début de script qui devrait pouvoir t'aider :
Cordialement,
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 #!/bin/bash FICHIER=fichier.txt cat $FICHIER | while read ligne # on parcours le fichier ligne par ligne do if [ "$ligne" = "" ] # si la ligne est vide ( = fin du fichier) then exit # on stop la boucle else set -- $ligne # on éclate la ligne # $1 = élément de la première colonne # $2 = élément de la deuxième colonne # ... fi done
Idriss
Merci le script suivant fonctionne
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 #!/bin/bash FICHIER=fichier.txt cat $FICHIER | while read ligne # on parcours le fichier ligne par ligne do if [ "$ligne" = "" ] # si la ligne est vide ( = fin du fichier) then exit # on stop la boucle else set -- $ligne # on éclate la ligne if [ $3 = 16 ] # test des valeurs then echo alarme onduleur elif [ $3 = 25 ] then echo alarme onduleur elif [ $3 = 28 ] then echo alarme onduleur fi # ... fi done
Il n'y a pas besoin de tester la fin du fichier : cat envoie la totalité du fichier, quand il n'y a plus de ligne, la boucle s'arrête.$6, car la troisième colonne du fichier présenté ne contient que des 5, sauf la trois cent sixième
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #!/bin/bash cat FICHIER.TXT | while read line do set -- $line (( $6 == 16 || $6 == 24 || $6 == 28 )) && echo "alarme onduleur" done
...
?
Partager