Time Diff in shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Time Diff in shell script
# 1  
Old 08-25-2010
Time Diff in shell script

Hi all ,

i am trying to calculate time difference btw the script execution

I am using solaris

Code:
start_time=`date +%s` 
sleep 2
end_time=`date +%s`
duration=`expr $end_time - $start_time`
when   i try to subtract i get the error 
 line 13: %s - -time : syntax error: operand expected (error token is "%s - -time ")

i think start_time=`date +%s` doesn't work in solaris because this is working in other linux box

later on i calculate the time to minutes
Code:
minutes=$(echo "scale=2; $duration / 60" | bc)

which gives some error in seconds but thats ok
and i cant calculate again to hours which gives errors in minutes

so all i am trying to achieve is
Code:
#!bin/bash

start_time=??

--script logic

end_time=??
 
durtation=??

echo "$duration"

this on a solaris system

thanks in advance

Last edited by Scott; 08-25-2010 at 08:40 PM.. Reason: Use code tags next time. Thanks in advance :)
# 2  
Old 08-25-2010
Quote:
Originally Posted by posner
Code:
 line 13: %s - -time : syntax error: operand expected (error token is "%s - -time ")

Did you check line 13 ?

Anyway :
Code:
#!/bin/sh
start_time=`date +%s`
sleep 2
end_time=`date +%s`
duration=`expr $end_time - $start_time`
echo $duration

or..
Code:
#!/bin/bash
start_time=`date +%s`
sleep 2
end_time=`date +%s`
echo $(($end_time-$start_time))

# 3  
Old 08-25-2010
when i do this
start_time=`date +%s`
and then say
echo "$start_time"
the result is "%s" this is on Solaris box where as in Linux it gives time in seconds

@danmero
so doing
echo $(($end_time-$start_time))
or
duration=`expr $end_time - $start_time`
doesn't matter as i dont have the right $start_time and $end_time

and that line 13 error because i trying to subtract %s with %s
duration=`expr $end_time - $start_time`
# 4  
Old 08-25-2010
Unless you have a non-Posix flavour of date you'll have the dickens of a time trying to work magic with date arithmetic. If all you want is the wall clock time (real time) that a process (script, or programme) took to run then try this:

Code:
#!/usr/bin/env ksh 
#ksh is cleaner because ksh gets it right when reading from a pipe into variables
(time -p sleep 5) 2>&1 | read junk real; 
echo $real

Code:
#!/usr/bin/env bash
# if you have to, messier because bash buggers reading from pipes
real=$( (time -p sleep 5) 2>&1 )
real=${real#real }
echo ${real%%user*}

What I have done in the past is to write a simple C programme that prints the current time as an integer and use that to capture the time before and after a series of commands. Not all that accurate, but if your commands are running for a few minutes then the time to load and execute the little programme twice can be neglected. It was also quicker to do that than to dork round with date and time when AT&T AST or GNU tools aren't available.

Code:
start=$( itime )         # integer time in seconds
# command(s)
end=$( itime )

echo "duration: $(( $end - $start ))s"

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Calculate Time diff in milli milliseconds(Time format : HH:MM:SS,NNN)

Hi All, I have one file which contains time for request and response. I want to calculate time difference in milliseconds for each line. This file can contain 10K lines. Sample file with 4 lines. for first line. Request Time: 15:23:45,255 Response Time: 15:23:45,258 Time diff... (6 Replies)
Discussion started by: Raza Ali
6 Replies

2. Shell Programming and Scripting

Howto compare the columns of 2 diff tables of 2 different schemas in UNIX shell script

HI All, I am new to Unix shell scripts.. Could you please post the unix shell script for for the below request., There are two different tables(sample1, sample2) in different schemas(s_schema1, s_schema2). Unix shell script to compare the columns of two different tables of two... (2 Replies)
Discussion started by: Rajkumar Gopal
2 Replies

3. Shell Programming and Scripting

Shell script to compare ,diff and remove betwen 2 files

Hi Friends Need your expertise. Command to check the difference and compare 2 files and remove lines . example File1 is master copy and File2 is a slave copy . whenever i change, add or delete a record in File1 it should update the same in slave copy . Can you guide me how can i accomplish... (3 Replies)
Discussion started by: ajayram_arya
3 Replies

4. Shell Programming and Scripting

serach diff filename in diff location using shell scripting

Hi, I am new to shell scripting. please help me to find out the solution. I need a script where we need to read the text file(consists of all file names) and get the file names one by one and append the date suffix for each file name as 'yyyymmdd' . Then search each file if exists... (1 Reply)
Discussion started by: Lucky123
1 Replies

5. Shell Programming and Scripting

Diff between calling a shell script with ./ and . ./

Hi ALL I have a shell script named setUP in which i am sourcing one variable like source var_name="CLASSPATH". When i call it as ./setUP, it does not set the var_name variable. But when i call it like . ./setUP then var_name is set up. What is the difference between this two calls? ... (2 Replies)
Discussion started by: SasDutta
2 Replies

6. UNIX for Dummies Questions & Answers

Diff between calling a shell script with ./ and . ./

Hi ALL I have a shell script named setUP in which i am sourcing one variable like source var_name="CLASSPATH". When i call it as ./setUP, it does not set the var_name variable. But when i call it like . ./setUP then var_name is set up. What is the difference between this two calls? ... (1 Reply)
Discussion started by: SasDutta
1 Replies

7. Shell Programming and Scripting

Shell script to convert epoch time to real time

Dear experts, I have an epoch time input file such as : - 1302451209564 1302483698948 1302485231072 1302490805383 1302519244700 1302492787481 1302505299145 1302506557022 1302532112140 1302501033105 1302511536485 1302512669550 I need the epoch time above to be converted into real... (4 Replies)
Discussion started by: aismann
4 Replies

8. Shell Programming and Scripting

Shell script using Diff

Hello - I have a small diff script that checks 2 directories. It reports the difference in count such as wc -l, and also names the different files. How should I get "ERROR: diff found . (host)" - when it actually finds a diff? This is how I have written: #!/bin/bash ... (10 Replies)
Discussion started by: DallasT
10 Replies

9. Shell Programming and Scripting

Process diff command output in a shell script

diff -yta file1 file2 #!/usr/abc/b/bin/perl5.6 | #!/usr/abc/b/bin/perl5.8 Notable thing about above line is "|" appears at 62nd position. When the same line is assigned in a variable in a ksh script, using ss=$(diff -yta file1 file2) it appears as ... (4 Replies)
Discussion started by: bhaliyajalpesh
4 Replies

10. Shell Programming and Scripting

Shell script to manipulate a message count for the same IP @ diff session

I have a file as like below, 10:20:30.45 START 10.20.30.40 10:20:31.46 HELLO 10.20.30.40 10:20:32.46 START 10.20.30.41 10:20:33.44 END 10.20.30.40 10:20:35.44 HELLO 10.20.30.41 10:20:36.56 HELLO 10.20.30.41 10:20:37.78 HELLO 10.20.30.41 10:20:38.99 START 10.20.30.40... (1 Reply)
Discussion started by: gobinath
1 Replies
Login or Register to Ask a Question