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 :
'#!/bin/ksh'
Je dois retourner un résultat identique à celui ci-dessous :

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 :

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 : 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
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