Bonjour !
J'ai actuellement un shell Unix qui me permet de déterminer si un import Oracle à fonctionné ou pas (en effectuant une recherche sur la chaine "ORA-" dans le fichier de log).
En clair ca donne ca (dans le principe) :
Code :
- chaine_ko="ORA-"
- traitement_ko=`grep -c "$chaine_ko" monfichier.log`
- if [ "$traitement_ko" -gt 0 ]
- then
- print "Erreur import monfichier" >> $check_erreur.txt
- fi
|
Avec cette commande GREP on peut faire des choses vraiment très sympa. Du coup j'ai réessayé de faire la meme chose sous DOS. J'ai d'abord cherché un équivalent à grep en version Windows, ce que j'ai trouvé ici :
http://pages.interlog.com/~tcharron/grep.html
Ca date un peu mais ca marche toujours très bien !
La commande "grep -c "ORA-" monfichier.log" renvoi 0 si la chaine "ORA-" n'a pas été trouvée dans le fichier monfichier.log. Sinon elle renvoi le nombre d'occurences de la chaine "ORA-".
Mais après je ne sais pas comment stocker ce résultat dans une variable DOS et tester sa valeur ?
J'ai testé ca :
Code :
- @echo off
- set t=grep -c "ORA-" monfichier.log
- @if t == 0 goto end
- @if t == 1 goto chaineko
- :chaineko
- echo ERREUR !
- :end
|
Mais evidemment ca ne marche pas, car la variable t prend comme valeur "grep -c "ORA-" monfichier.log" au lieu de O ou 1 ...
Donc si un pro du DOS pouvait me dire comment faire ca , ce serait vraiment super ! Toutes les bidouilles bilousiennes sont permises