Dates not comparing correct even the same format


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Dates not comparing correct even the same format
# 1  
Old 09-15-2010
Dates not comparing correct even the same format

I have the date of the file passed into a variable also current date formatted same passed into a separate variable and compare the two with an if statement and statement always comes up false. Even though I verified the dates. Any help would be awesome.

Code:
Filecrtdate=`ls -l $i | awk '{print $6}'`    # declaring variable of file create date
Rundate=`date +%Y-%m-%d`    # Declaring todays date variable in format matching Filecrtdate                                      

if [ $Filecrtdate = $Rundate ]
      then echo "File created today"
      else echo "File not created today"
fi


Last edited by coderanger; 09-15-2010 at 01:22 PM..
# 2  
Old 09-15-2010
There must be a space between the square brackets and the statement:
Code:
[ $Filecrtdate = $Rundate ]
 ^                       ^

# 3  
Old 09-15-2010
Sorry, yes that was actual correct in the code, just a typo when I entered in post. Any other ideas?
# 4  
Old 09-15-2010
I am not sure if you are asking for this :-
Code:
$ cat f1.sh
#!/bin/sh
Rundate=`date +%Y-%m-%d`
echo $Rundate
Filecrtdate=`date +%Y-%m-%d`
echo $Filecrtdate

if [ $Filecrtdate == $Rundate ]
then
  echo "successful"
else
  echo "unsuccessful"
fi

$ sh f1.sh
2010-09-15
2010-09-15
successful

You need to add double ==
# 5  
Old 09-15-2010
Quote:
Originally Posted by coderanger
Sorry, yes that was actual correct in the code, just a typo when I entered in post. Any other ideas?
Your code works fine for me.
# 6  
Old 09-15-2010
Added the double == still same response. Getting the false. Does it matter that this is BASH???

Quote:
Originally Posted by scripter12
I am not sure if you are asking for this :-
Code:
$ cat f1.sh
#!/bin/sh
Rundate=`date +%Y-%m-%d`
echo $Rundate
Filecrtdate=`date +%Y-%m-%d`
echo $Filecrtdate

if [ $Filecrtdate == $Rundate ]
then
  echo "successful"
else
  echo "unsuccessful"
fi

$ sh f1.sh
2010-09-15
2010-09-15
successful

You need to add double ==
# 7  
Old 09-15-2010
Very strange.... did you use a windows editor?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Error while comparing dates

Hi I am failing to write a script which compares a list of dates in a file with today's date. OS: Solaris 10 I have a file which has server names & dates, i need to compare the date in this file with today's date, if it is less than today it should print the server name. code i tried is ... (3 Replies)
Discussion started by: nanz143
3 Replies

2. Shell Programming and Scripting

Comparing Dates

Hi I'm trying to compare the current date (dd-Mmm-yyyy) against a variable that is an extracted date from an sql script. Below is the code: datenow=`date '+%d-%h-%Y'` #datenow is the current date in the format dd-Mmm-yyyy sqlplus $dbuserid/$dbpassword @ $SCRIPT_PATH/business-date.sql >... (3 Replies)
Discussion started by: joyAV
3 Replies

3. Shell Programming and Scripting

Comparing dates

Hi, I want to compare today's date(DDMMYYYY) with yesterday(DDMMYYYY) from system date,if (today month = yesterday month) then execute alter query else do nothing.One more condition is change of year also i.e today is Jan1 2012 and yesterday is Dec 31 2011. The above rek i want in Shell... (4 Replies)
Discussion started by: kumarmsk1331
4 Replies

4. Shell Programming and Scripting

Could not able to get the correct dates.

Hi, I have written the following script which will provide the first date of the 3rd previous month and last date of the 2nd previous month but when I change the month for 03 (March) then I am getting the incorrect results. Ex : - If today is 1 Jan 2010 then the script should provide the... (1 Reply)
Discussion started by: kandi.reddy
1 Replies

5. UNIX for Dummies Questions & Answers

comparing two dates.

Hi I have yesterday date and todays date stored in two variables. Today date is stored in variable -- testdate=`date +%m/%d/%Y` I found the yesterday date and stored in variable -- ydate=$month'/'$day1'/'$year Now i am trying to find out whether $testdate is less that $ydate. I am... (6 Replies)
Discussion started by: intiraju
6 Replies

6. Shell Programming and Scripting

Need script to generate all the dates in DDMMYY format between 2 dates

Hello friends, I am looking for a script or method that can display all the dates between any 2 given dates. Input: Date 1 290109 Date 2 010209 Output: 300109 310109 Please help me. Thanks. :):confused: (2 Replies)
Discussion started by: frozensmilz
2 Replies

7. Shell Programming and Scripting

comparing dates

Hi guys I have a a variable called check_ts which holds a date value. this date value keeps refreshing every 15 minutes. I am going to start a cron job 5 minutes after the refresh. I have to check if the current date > 20 min of check_ts. how do i do that. thanks ragha (17 Replies)
Discussion started by: ragha81
17 Replies

8. Shell Programming and Scripting

Comparing two dates

Hi, Can some one guide me how to compare two dates in unix. TIA Gupta (5 Replies)
Discussion started by: guptan
5 Replies

9. Programming

comparing dates

hi is there a c function in linux for comparing dates. thanx in advance. svh (2 Replies)
Discussion started by: svh
2 Replies

10. Shell Programming and Scripting

comparing 2 dates

hi , I have two variables both containg dates, x= `date` and y= `date' their format being -> Fri Nov 12 22:59:50 MST 2004 how do I compare which one is greater. ->Can dates be converted into integer and then compared? ( one lengthy way would be to compare the words one by... (7 Replies)
Discussion started by: k_oops9
7 Replies
Login or Register to Ask a Question