Recherche une commande spécifique du grep (AIX).
Bonjour,
Tout d'abord je ne sais pas si je me trouve dans le bon forum par rapport à ma question qui concerne la commande 'grep' appelée dans un script 'ksh' qui commence ainsi :
Je dois retourner un résultat identique à celui ci-dessous :
Citation:
hpx16:/data/13asr2/files/data/FICH/PURGE/SQL> grep 'Compteur ' DCO506AV.log
Compteur SAT_ALO AVANT purge = 2426331
Compteur SAT_FEU AVANT purge = 1653952
Compteur SAT_ALO AVANT purge = 2426331
Compteur SAT_STU AVANT purge = 2538999
hpx16:/data/13asr2/files/data/FICH/PURGE/SQL>
Ce résultat correspond à la comparaison de tables Oracle 2 par 2.
Ce que je souhaite donc obtenir, c'est :
Citation:
Compteur SAT_ALO AVANT purge = 2426331
Compteur SAT_FEU AVANT purge = 1653952
Compteur SAT_ALO AVANT purge = 2426331
Compteur SAT_STU AVANT purge = 2538999
Existe-t-il une commande dans le 'grep' permettant de spécifier des passages à la ligne (ou insertion d'une nouvelle ligne vierge) toutes les 2 lignes ?
Avec du sed par exemple...
Mon script est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#----- Analyse du fichier de log genere par SQLPLUS
if [ ! -f ${COMPTEURSORTIE} ];
then
echo "$((`/bin/date +'%H%M%S'`)) - Le fichier ${COMPTEURSORTIE} est introuvable dans le repertoire : ${REPSQLLOG}" >> ${COMPTEURERR}
else
#----- Code retour de SQLPLUS
CODERETOUR=$?
#----- Recherche des erreurs dans le fichiers de log
TESTERR=`grep -i 'ORA-' ${FICHIERSORTIE} | wc -l`
#----- Recherche des tags 'Compteur ' dans le fichiers de log
TESTCPT=`grep -i 'Compteur ' ${FICHIERSORTIE} | wc -l`
if [ $TESTERR -gt 0 ];
then
grep 'ORA-' ${FICHIERSORTIE} >> ${COMPTEURERR}
echo "$((`/bin/date +'%H%M%S'`)) - Code retour SQLPLUS ${CODERETOUR}" >> ${COMPTEURSORTIE}
echo "$((`/bin/date +'%H%M%S'`)) - Erreur a l'affichage des compteurs" >> ${COMPTEURERR}
export ErrOracle=OUI
else
if [ $TESTCPT -gt 0 ];
then
cat ${FICHIERSORTIE}|grep 'Compteur ' >> ${COMPTEURSORTIE}
echo " " >> ${COMPTEURSORTIE}
echo "$((`/bin/date +'%H%M%S'`)) - Code retour SQLPLUS ${CODERETOUR}" >> ${COMPTEURSORTIE}
echo "$((`/bin/date +'%H%M%S'`)) - Succes a l'affichage des compteurs" >> ${COMPTEURSORTIE}
export ErrOracle=NON
else
echo "$((`/bin/date +'%H%M%S'`)) - Code retour SQLPLUS ${CODERETOUR}" >> ${COMPTEURSORTIE}
echo "$((`/bin/date +'%H%M%S'`)) - Il n'y a pas de compteur dans le fichier de log" >> ${COMPTEURSORTIE}
export ErrOracle=NON
fi
fi
fi
echo " " >> ${COMPTEURSORTIE} |
Merci d'avance.
Cdlt,
Olivier