Reading Hours and Minutes from file and comparing with current


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Reading Hours and Minutes from file and comparing with current
# 1  
Old 03-17-2009
Reading Hours and Minutes from file and comparing with current

Hi,

Time till when the application should run is indicated in a file. First line is hour and second line is minute.
file:
10
55
Means my application should run till 10:55.

Now in a shell script, i am trying to make that logic but with no luck.

min=`tail -n 1 /file_with_time`
hour=`head -n 1 /file_with_time`

chour=`date +%H`
cmin=`date +%M`

if [ $chour < $hour ] <== Shell script throws error here when value is two digits ie if first line the file is > 9.
then
run_my_app
fi

if [ $chour = $hour ]
then if [ $cmin < $min ]
then
run_my_app
fi
fi

Kindly suggest.
SDG
# 2  
Old 03-17-2009
Quote:
Originally Posted by SGD
Hi,

Time till when the application should run is indicated in a file. First line is hour and second line is minute.
file:
10
55
Means my application should run till 10:55.

Now in a shell script, i am trying to make that logic but with no luck.

Please put code inside [code] tags.
Quote:
Code:
min=`tail -n 1 /file_with_time`
hour=`head -n 1 /file_with_time`


You don't need two external commands to read two lines from a file:

Code:
{
 read min
 read hour
} < /file_with_time

Quote:
Code:
chour=`date +%H`
cmin=`date +%M`


You don't need two calls to date (and it will be wrong if the hour changes between one call and the next).

Code:
eval "$( date "+hour=%H min=%M" )"

Quote:
Code:
if [ $chour < $hour ] <== Shell script throws error here when value is two digits ie if first line the file is > 9.
then
   run_my_app
fi

if [ $chour = $hour ]
then if [ $cmin < $min ]


The less-than operator is -lt:

Code:
if [ $cmin -lt $min ]

But you could also do it with a single if statement:

Code:
if [ $chour$cmin -lt $hour$min ]

Quote:
Code:
then
  run_my_app
fi
fi

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to convert days hours minutes seconds to minutes?

Hi, please help with below time conversion to minutes. one column values: 2 minutes 16 seconds 420 msec 43 seconds 750 msec 0 days 3 hours 29 minutes 58 seconds 480 msec 11 seconds 150 msec I need output in minutes(total elapsed time in minutes) (2 Replies)
Discussion started by: ramu.badugula
2 Replies

2. Shell Programming and Scripting

How to send a file in UNIX through email which is created only 15 minutes before the current time?

I wanted to send an email to the client whenever there is failed record created in a /feed/HR-76/failed folder after processing of feed file. I can find out with the help of below script that what is the new file created but that file didn't make just 15 minutes before. ... (1 Reply)
Discussion started by: puneetkhullar
1 Replies

3. UNIX for Dummies Questions & Answers

Adding hours and minutes to current date (Only to date not to time)

Hi, I want to add some hours and minutes to the current date. For example, if the current date is "July 16, 2012 15:20", i want to add 5 hours 30 minutes to "July 16, 2012 00:00" not to "July 16, 2012 15:20". Please help. Thanks! (4 Replies)
Discussion started by: manojgarg
4 Replies

4. UNIX for Advanced & Expert Users

find files modified by hours instead of minutes

Is there an easy way to find files modified by hours? If you wanted to find something modified by like 28 hours then I know you could do this: find . -mmin -1440It is pain to break out a calculator and calculate in minutes. Could you do something similar to this? I know I don't have the right... (1 Reply)
Discussion started by: cokedude
1 Replies

5. Shell Programming and Scripting

How to split numeric value into hours:minutes:seconds

I have a problem. I am working on a Call Detail Report system. Come to find out the phone switch does not report in seconds. It is a 5 digit field that reports h:mm:ss The problem is I have 1-5 digit numbers Ie 1 = 1 second and should be reported as 0:00:01 22 should be 0:00:22 321 should be... (5 Replies)
Discussion started by: truecall
5 Replies

6. Shell Programming and Scripting

Process Time in hours or minutes only

Hi i want to print the time of a process in hours only..(or) in minutes only.Is there anyway to print the process such like that when i give the commnand like following #ps -eo pid,time PID TIME 412 01:49:32 481 00:03 it shows in HH:MM:SS format: Could anyone... (1 Reply)
Discussion started by: srikanthg
1 Replies

7. Shell Programming and Scripting

Cron job for every five minutes and between hours

Hi I need to run a script every five minutes and it should run between 07-15 hours all days. How i can achieve this... i tried like this */5 07-15 * * * /scripts/CreateFtpData.sh It throws an error... (1 Reply)
Discussion started by: aemunathan
1 Replies

8. UNIX for Dummies Questions & Answers

crontab every 2 minutes, 24 hours and once a week

can someone please check my answers for the crontabs I am making 1. how would I set up a crontab tab executes every 2 minutes each and every day of the week? answer: 2 * * * * /path/to/file.pl <-- is this correct? 2. how would I set up a crontab that executes every 24 hours at 2am?... (6 Replies)
Discussion started by: Bobafart
6 Replies

9. Shell Programming and Scripting

Convert minutes to hours, minutes, seconds

How would you convert lets say a 1000 minutes to hours, minutes, seconds (1 Reply)
Discussion started by: Vozx
1 Replies

10. Shell Programming and Scripting

How can I create a file with current time - 60 minutes

I'm using k-shell in unix and I want to create a file with the current system time - 60 minutes. I know I can use touch to create the file, but I'm having trouble specifying how tell it to use the current time less 60 minutes. Any ideas??? (4 Replies)
Discussion started by: DaveyTN
4 Replies
Login or Register to Ask a Question