Como passar o sysdate-1 do dual para o grep

0

Estou tendo um.log que contém log de uma semana de domingo a sábado. se eu executei o script hoje, então ele deve procurar ontem

Estou fazendo

Date = 'print " set heading off
  set feedback off
  set pagesize 0
  select to_char(sysdate-1, 'DD Mon')" | Sqlplus'
print "Date = $Date"

grep .Ccd /var/tmp/logs/poll.log | grep "$date"

Mas não consigo buscar o sysdate-1

    
por Pooja 18.11.2015 / 22:37

1 resposta

1

Não tenho certeza se você pode canalizar coisas assim, especialmente com algo tão esquisito e estranho quanto sqlplus . Veja como eu faria isso:

#!/bin/bash

USER=oracle
PASSWORD=adminadmin
INSTANCE=tiger1p

DATE=$(sqlplus -s /nolog << END_SQL
connect $USER/$PASSWORD@$INSTANCE
set feedback off
set echo off
set verify off
set head off
set pagesize 0
select to_char(sysdate-1, 'DD Mon') from dual;
END_SQL
)
grep Ccd /var/tmp/logs/poll.log | grep "$DATE"

O SQL para obter "sysdate-1" reside em um documento "aqui", mas é colocado na variável shell chamada DATE . Eu tenho uma superstição sobre desligar todas as configurações de sqlplus , sua milhagem pode variar.

    
por 18.11.2015 / 23:35

Tags