Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Sightly OT: Unix scripting

Re: Sightly OT: Unix scripting

From: <Brian_P_MacLean_at_eFunds.Com>
Date: Thu, 21 Mar 2002 12:13:20 -0800
Message-ID: <F001.004302B2.20020321121320@fatcity.com>

(all examples are using /usr/bin/ksh shell)

You could do it this way:

DATE=$(date '+%y%j')
DATE=$((${DATE} - 1))
[ ${#DATE} -eq 4 ] && DATE="0${DATE}"

But you have bigger problems my friend. What happens if the date is 02001 and you subtract 1. The result is 02000 which is invalid. Since you are in a script that is using the db anyway why not do something like this:

{
  sqlplus -s /nolog <<EOF
    connect /
    set pagesize 0
    select to_char(sysdate - 1, 'YYDDD') from dual;     exit;
  EOF
} | grep -iv connected | read DATE

Brian P. MacLean
Oracle DBA, OCP8i

                                                                                                              
                    "Ball, Terry"                                                                             
                    <TBall_at_birch.c       To:     Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>  
                    om>                  cc:                                                                  
                    Sent by:             Subject:     Sightly OT: Unix scripting                              
                    root_at_fatcity.c                                                                            
                    om                                                                                        
                                                                                                              
                                                                                                              
                    03/21/02 12:08                                                                            
                    PM                                                                                        
                    Please respond                                                                            
                    to ORACLE-L                                                                               
                                                                                                              
                                                                                                              




Environment: Oracle 8.1.6.3 on Solaris 5.8

I am not a Unix Guru by any strech of the imagination, so I can use all the help I can get. I am trying to write a shell script to execute sqlldr of a file whose name includes yesterday's 2 digit year and julian day in the format: file_yyjjj.csv. I can get today's date fine by setting a variable to be DATE=`date '+%y%j'`

But when I try to get DATE -1 it strips the leading 0 (since it is currently
02). Does anyone have any suggestions as to how I can retain the leading 0 and still get yesterday's date?

TIA, Terry

Terry Ball, DBA
Birch Telecom
Work: 816-300-1335
FAX: 816-300-1801

--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Ball, Terry
  INET: TBall_at_birch.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L

(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: INET: Brian_P_MacLean_at_eFunds.Com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).
Received on Thu Mar 21 2002 - 14:13:20 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US