Variables et conditions IF pour commande GREP [DOS] - Shell/Batch - Programmation
Marsh Posté le 10-11-2006 à 19:20:02
Sous DOS ou le batch Windows ? Il y a beaucoup de différences, même si ce n'est pas le cas dans cet exemple.
Renseigne-toi sur ErrorLevel.
La syntaxe :
set VAR=commande
n'existe pas.
Dans ton cas, t sera une valeur chaîne. Fais :
echo %t%
pour comprendre.
Marsh Posté le 10-11-2006 à 22:41:47
Pardon, Batch Windows en fait.
Oui sinon j'avais bien compris :
"Mais evidemment ca ne marche pas, car la variable t prend comme valeur "grep -c "ORA-" monfichier.log" au lieu de O ou 1 ... "
Marsh Posté le 11-11-2006 à 06:13:19
wizdom a écrit : |
Désolée d'avoir zappé ce passage.
Mais tu as zappé aussi ma deuxième ligne.
Marsh Posté le 11-11-2006 à 12:22:09
Oui, le Errorlevel ?
Ben non ca ne sert qu'à récuperer des codes d'erreurs.
Par exemple :
grep -c "ORA-" toto.txt
echo %ERRORLEVEL%
Si toto.txt existe, je récupère la valeur 0 avec le Errorlevel.
Si toto.txt n'existe pas je récupère la valeur 2.
Mais en aucun cas le errorlevel me renvoi le contenu du résultat de la commande grep...
Hélas
Marsh Posté le 10-11-2006 à 17:10:55
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) :
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 :
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