Help Needed in Date Condition !!


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help Needed in Date Condition !!
# 1  
Old 03-21-2008
Help Needed in Date Condition !!

I am writing an shell script , which reads a file with contents

Example :: (( This Format is yyyy-MM-DD))

2008-05-16
2008-05-17
2008-05-18
2008-05-19
2008-05-20
2008-05-21

when i run the shell script it has to check the current date and compare it with the todays date and give me the value which is one day less than that of todays date ..

when i execute DATE command it gives me this


Fri Mar 21 02:04:21 GMT 2008

so output should be 2008-05-20 , is there are no values then echo " no values present "


This is just to find what are all old in my unix box .. This is used in my routine work

Thanks
# 2  
Old 03-21-2008
Error

Quote:
Originally Posted by ranga27
I am writing an shell script , which reads a file with contents

Example :: (( This Format is yyyy-MM-DD))

2008-05-16
2008-05-17
2008-05-18
2008-05-19
2008-05-20
2008-05-21

when i run the shell script it has to check the current date and compare it with the todays date and give me the value which is one day less than that of todays date ..

What do you think is the difference between Current date & Today's date?
And what are you trying to do with your input file?

Can you pls explain your problem clearly? Try and paste a bit code you've tried to develop so far..it will fetch you better & quicker replies.
Good luck!
# 3  
Old 03-21-2008
Sorry .. i was not clear , these values are present in a file .. and i have to compare it with current date in unix box and give a result which is one day
more , and if there are no entries in the input file then result " NO values are present"

2008-05-16
2008-05-17
2008-05-18
2008-05-19
2008-05-20
2008-05-21
2008-05-22
# 4  
Old 03-21-2008
Hi .. i am not sure of the code .. Please help me on this as i am new to this shell scripting

Thanks
# 5  
Old 03-21-2008
Date Format in Shell Script

You can use the following date format & use this value in any LOOP or Check condition

echo `date '+DATE:%d/%m/%Y%nTIME:%H:%M:%S'`

Pass the above date in a variable and use it..
# 6  
Old 03-21-2008
Thanks for your replies .. but it didnot work !!

This is my input

I have a file a.txt which has the values which is YYYY-MM-DD format

[expires: 2008-03-29]
[expires: 2008-04-26]
[expires: 2008-05-26]
[expires: 2008-06-26]
[expires: 2008-07-26]

i need to chk the current date (systemdate) and compare it with a.txt if the expiring dates are with the range of 30 days it should print the line , else ignore the line and echo " no Keys are in expiring state"

I know that we can proceed on if conditons , but not sure of the date conversion .. Thanks for all your help !!
# 7  
Old 03-21-2008
see this forum entry:

https://www.unix.com/tips-tutorials/3...tion-bash.html

for information and some excellent routines for manipulating dates and times.

Also a read through the man page for date will help you.

a possible solution off the top of my head without testing is:

Code:
while read line; do 
$expires=`echo $line | sed 's/^.*: \(.*\)$/\1'`
$timestamp=`date --utc --date "$expires" +%s`
$nowplus30days=`date --date "now +30 days"`
[ $nowplus30days -lt $timestamp ] && echo $line || echo "Key not in expiring state"
done < a.txt

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help needed with date compare

Hello, I have this unix script which selects rows from DB where current time is greater than expired time (column). So this will give all the records that are expired 1 day ago, 2 days ago, 3 days ago, etc.. I need help modifying in such that it should give records that are only expired 1 day... (5 Replies)
Discussion started by: jakSun8
5 Replies

2. Shell Programming and Scripting

Help needed with some date arithmetic

I have a file (main.lst) containing a list of dates in DDMMYYYY format. The dates will mostly be the same but it is possible to have multiple dates and these need not be in chronological order. I have another file containing another list of dates (holidays.lst). The task is to get the latest... (5 Replies)
Discussion started by: elixir_sinari
5 Replies

3. UNIX for Dummies Questions & Answers

date command option e Help needed please!!

Hi All, I was trying to get the date in format "Feb2" I tried option "e" giving me a padded space and getting the result as "Feb 2". Though its working fine for dates 10 to 31. Please suggest me how to get rid of this space before date. Thanks Olivia (4 Replies)
Discussion started by: Olivia
4 Replies

4. UNIX for Dummies Questions & Answers

Help needed - How to use or condition in makefile

Hi All, i get struck in between how to use OR condition in makefile. Eg: ifeq ($(PACKAGE),x) LIBS += $(STRIPPED_LIB-ONLY) else ifeq ($(PACKAGE),y) LIBS += $(STRIPPED_LIB-ONLY) else LIBS += $(LIB-ONLY) endif endif so if we look into above... (1 Reply)
Discussion started by: dhanavel
1 Replies

5. Shell Programming and Scripting

If(Condition) Rename a file with (Date+Time) Stamp

Hi! Please see our current script: #!/usr/bin/ksh if (egrep "This string is found in the log" /a01/bpm.log) then mailx -s "Error from log" me@email.com, him@email.com </a01/bpm.log fi To the above existing script, we need to add the following change: 1) After finding the string,... (7 Replies)
Discussion started by: atechcorp
7 Replies

6. Shell Programming and Scripting

writing condition using date stamp

Hi all, I am writing a script which i am executing using nohup command. while ( true ) do RequiredTime=06:00:00 SysTime=`echo $(date) | awk '{print $4}'` if ]; then body of script fi done this is executing 3 times at 6am. i want it execute the body of script... (3 Replies)
Discussion started by: firestar
3 Replies

7. Shell Programming and Scripting

Help needed-calculate previous date

Hi Friends, Need a command/script in unix which calculates previous date from current date. For ex: If current date= 01 Jan 2008, then output =31 Dec 2007 If current_date =01 Aug 2008 , then output= 31 July 2008 Please advice Regards, Suresh (3 Replies)
Discussion started by: sureshg_sampat
3 Replies

8. UNIX for Dummies Questions & Answers

Help needed with date

How can i assign a variable by the name of CUTDATE= today date - 90 days? i have something like this right now :- today=`date '+%Y%m%d'` #cutdate = this is where i am having problem. i need today - 90 days How can i accomplish this? After that i need to do delete the data which are more... (16 Replies)
Discussion started by: chris1234
16 Replies

9. Shell Programming and Scripting

help needed in date format

i need to grep date in the format year-month-day,,,,,,, actually i need to grep those dates other than current date.......... can anyone help me in this...........i need a format of date which would grep previous date except current date (1 Reply)
Discussion started by: ali560045
1 Replies

10. Shell Programming and Scripting

Help needed on Date command

Hi, I am facing one problem with date command.Actually I want to use this command to get the last month,not the current month..OK,I can do current month - 1 and give special condition for january,But this time i need last month as strings like January,februaury,march etc... There is option... (5 Replies)
Discussion started by: nikunj
5 Replies
Login or Register to Ask a Question