Getting sysdate - 2 by an unix command

Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Getting sysdate - 2 by an unix command
# 1  
Old 08-27-2001
Getting sysdate - 2 by an unix command

How can I get an equivalent in unix for the following Oracle SQL command:

select sysdate - 2 from dual;


# 2  
Old 08-28-2001

Here is one way:

_day=`date +%d`
_month=`date +%m`
_year=`date +%y`
newday=`expr $_day - 2`
echo "Two days ago was $_month/$newday/$_year "

I know the GNU date provides an easier way, but this is more portable...

your to_char function is up to you :P
# 3  
Old 08-28-2001
Except if you run it on the 1st, then 1-2 = -1. Oops.

A portable solution is to convert the current date to a julian value, subtract 2 and then convert back to a gregorian value. A script to convert to/from julian date is here:

Last edited by PxT; 08-28-2001 at 03:49 PM..
# 4  
Old 08-31-2001
this login does not work with number greater than the days passed in the going month.
plz try this script it will fail .

echo "Plz enter the number of diff required"
read _diff
_day=`date +%d`
_month=`date +%m`
_year=`date +%y`
newday=`expr $_day - $_diff`
echo "Two days ago was $_month/$newday/$_year "
# 5  
Old 08-31-2001

Yeah, that is the shortcoming that PxT pointed out in my script also. I like his idea better of converting to julian date, subtracting the number you need, then converting back to regular date. Please check out his script - it's much better, and is less likely to contain the simple errors I have included (as features, of course) in mine. Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need to filter data based on sysdate

I have a file from which I need to filter out certain lines when field 17 is less than sysdate. The file has date in YYYYMMDD HH:MI:SS format. Sample file is as below: PRUM,67016800 ,CC ,C1,67016800 ,00,Y,Y,2 ,US,BX,BOX ... (5 Replies)
Discussion started by: mady135
5 Replies

2. Shell Programming and Scripting

Grep the logfile for sysdate-1

Looking for help. I need help in the grep ( alternative) to filter out the a keyword from the logfile for a time period of sysdate -1. My logfile looks like: ####<Sep 7, 2014 3:46:55 PM PDT> <Warning> <Management> <hostname> <> < ExecuteThread: ####<Sep 15, 2014 2:51:05 AM PDT>... (1 Reply)
Discussion started by: jjoy
1 Replies

3. UNIX for Dummies Questions & Answers

Inserting sysdate into the XML!!

How do i insert the sysdate in the below xml file? This has to happen dynamically, meaning everytime the script runs, it shud put 2 sysdates in the below xml marked in red ...format is YYYY-MM-DD <?xml version="1.0" encoding="UTF-8"?> <Package> <LOCALE>en_US</LOCALE> <User... (2 Replies)
Discussion started by: saggiboy10
2 Replies

4. Shell Programming and Scripting

Extracting Sysdate-1 ORA Errors - Can you help me in this UNIX Script?

Hi Guys, I wanted to create an Unix Shell Script that should fetch a particular string from a text file on a particular date. We all know Oracle generates alert logs for each and every day for every actions in the database. I have an alert log file now where it contains for about a months... (4 Replies)
Discussion started by: raja_dba
4 Replies

5. Shell Programming and Scripting

How to use sql "sysdate" in unix?

I am use unix shell script to called an sql Script to query data in my shell program. sqlplus -S /nolog @update.sql but my script on function "sysdate" not work !! Could you tel me,How can i use function "sysdate" on unix or can replace the other function in my script to get data in system... (5 Replies)
Discussion started by: krai
5 Replies

6. Shell Programming and Scripting

Sysdate setting in .profile

Hi, I need to append the current system date and time in my file which are being taken a backup by my shell script .so i added the following line in by .profile SYSDATE="$( date '+%d/%B/%Y/%S' )" export SYSDATE But it's a constant one rather then a sync with my system date ,so how can i do... (10 Replies)
Discussion started by: malickhat
10 Replies

7. UNIX for Dummies Questions & Answers

Rename FILE with sysdate-1

Hi, There is file on UNIX server named as fd40568-07082009.txt which get FTP'ed to UNIX on a daily basis. 07082009 of fd40568-07082009.txt represents the system date. This type of .txt gets FTP on a daily basis. My requirement is to rename the fd40568-07082009.txt to fd40568-07072009.txt... (2 Replies)
Discussion started by: rahulbahulekar
2 Replies

8. UNIX for Dummies Questions & Answers

sysdate -1 in unix

I need to automate the creation of a file. It needs to have the date of the previous day. In sqlplus we use sysdate -1 but I checked the man page for date and didn't find a similar command. This is what I use for creating a file for the current date: rciind`date '+%m%d%Y'`.txt What do I... (1 Reply)
Discussion started by: kskywr
1 Replies

9. UNIX for Dummies Questions & Answers

sysdate -p -f%d/%m/%Y

Dear I check script written in Unix commands and i face misunderstanding in date format. the format is ( sysdate -p -f%d/%m/%Y ). can you told me what is ( -p and -f ) means. and can you write sample for this. (1 Reply)
Discussion started by: abu_hassan
1 Replies

10. UNIX for Dummies Questions & Answers

How to get sysdate -1

Hi, How can i change date value to date value - 1 in unix ? I mean sysdate to sysdate -1. Can anyone throw some light on that ? cheers, gopskrish (2 Replies)
Discussion started by: gopskrish
2 Replies
Login or Register to Ask a Question