일요일부터 토요일까지 일주일 동안의 로그가 포함된 .log가 있습니다. 오늘 스크립트를 실행하면 어제 검색되어야 합니다.
내가 뭐하는 거지
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"
하지만 sysdate-1을 얻을 수 없습니다.
답변1
특히 다음과 같이 파이프할 수 있는지 잘 모르겠습니다 sqlplus
.
#!/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"
"sysdate - 1"을 가져오는 SQL은 "here" 문서에 있지만 이라는 쉘 변수에 저장됩니다 DATE
. 모든 설정을 끄는 것에 대한 미신이 있습니다 sqlplus
. 마일리지가 다를 수 있습니다.