日曜日から土曜日までの週のログを含む.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
。マイルが異なる場合があります。