help with expr command in script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting help with expr command in script
# 8  
Old 03-01-2010
Hi All,
Thanks for so many suggestions.
Removing echo, does not work as it still gives syntax error.

Removing the leading zero also does not work. This gives an error as *60 not found. Since * is used as wild card.

I am using ksh, so I guess date -d won't work in ksh.
If i use the printf command, the date is not calculated. The error is thrown as
The output is like below.
1-Mar-10 03:56:51
START_TIME=()T
END_TIME=()T
()T-()T: syntax error

I tried using it this way.
Code:
function get_elapsed_time
{
export PROPS_FILE=/apps/taskman/scripts/dailyreports/temp_file.properties
export CURRENT_TIME=`date '+%e-%h-%y %T'`
export PREVIOUS_TIME=`grep ABC $REPORT_PROPS_FILE |cut -d= -f2`
echo $PREVIOUS_TIME
START_TIME=$(printf '%(%s)T' "$PREVIOUS_TIME")
echo $START_TIME
END_TIME=$(printf '%(%s)T' "$CURRENT_TIME")
echo $END_TIME
DIFF=$(($END_TIME-$START_TIME))
echo $DIFF
SECS=$(($DIFF % 60))
echo $SECS
MINS=$(($DIFF % (60 * 60) / 60 ))
echo $MINS
}

Its still not working. Smilie Is there some other way to use printf command in unix?

---------- Post updated 1st Mar 2010 at 12:09 AM ---------- Previous update was 28th Feb 2010 at 11:42 PM ----------

I think the version is ksh88. I tried to print the SECONDS variable and its an integer value. So it should be a ksh88 rt?

---------- Post updated at 12:16 AM ---------- Previous update was at 12:09 AM ----------

Hi All,

Its working now!! Smilie

I am using the same original code and just modified the export command. Yes, removing echo does help.

Code:
function get_elapsed_time
{
export PROPS_FILE=temp.properties
export CURRENT_TIME=`date '+%T'`
export PREVIOUS_TIME=`grep ABC $PROPS_FILE |cut -c15-22`
echo $PREVIOUS_TIME
START_HR=`echo "$PREVIOUS_TIME" | awk '{print substr($0,1,2)}'`
echo $START_HR
END_HR=`echo "$CURRENT_TIME" | awk '{print substr($0,1,2)}'`
echo $END_HR
START_MINS=`expr $START_HR \* 60`
echo $START_MINS
}

Thanks a lot!!
# 9  
Old 03-01-2010
substr is a test ksh88/ksh93.
Code:
a="0123456"
echo ${a:2:3}   # output is 234

date is not builtin command, it's in command in your system. -d option is in gnu date, not ex. in bsd date.

printf is builtin command in ksh93. So man ksh93 include documentation to use printf.

You don't need export in your code. Local variables is enough. Environment variables (export variable) are needed if you call subprocess and subprocess need those variables value also.

If you like to use ksh93, check download. Maybe your system is still supported.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Problem with expr command in shell script

Hi, I have used expr command to increment the date. for e.g., case 1 : echo $(date -d $(echo `expr 20010101 + 1`)) it returns Tue Jan 2 00:00:00 IST 2001 case 2: echo $(date -d $(echo `expr 20010101 - 1`)) it returns date: invalid date `20010100' please suggest me, how to... (3 Replies)
Discussion started by: nanthagopal
3 Replies

2. Shell Programming and Scripting

expr command help

I'm trying to check if a variable'd string is only one character and use that in an if statement the only way I could find is: $expr "${var}" : . # expr STRING : regrep where the "." is the grep wildcard for any single character. Whats wrong with my code here and is there a... (3 Replies)
Discussion started by: Tewg
3 Replies

3. UNIX for Dummies Questions & Answers

substring without using expr command

Hi guys, For some reason the terminal on my mac does not let me run string manipulations commands using the expr command. I'm not sure how to fix this so I'm requesting a "work-around" to using the expr command... This is the string I'm working with: "neo_opls01_1.log" And I'm trying to... (9 Replies)
Discussion started by: ah7391
9 Replies

4. Shell Programming and Scripting

expr command

Hi Can anyone explain me the usage of this command and the arguments used here and what will be the expected output : v_num=`expr nav_d_20100204_1759 : '*\(*\)'` what will be the value returned in v_num. Thanks in Advance!!! Regards Naveen Purbia (3 Replies)
Discussion started by: trying_myluck
3 Replies

5. UNIX for Dummies Questions & Answers

using the expr command

Hi friends how can i execute expr $va1 * $var2 provided i m not supposed to use '/' also the nglob variable is turned off. (4 Replies)
Discussion started by: ashishj
4 Replies

6. UNIX for Dummies Questions & Answers

problem with expr command

:) hi Unix gurus, Pls consider the following piece of code str='hello' length=echo $str|wc -c echo $length y= ` expr \( 80 - $length \) ` echo $y :confused: The last echo stmt is displaying 0 as the result. If i put direct value like 6 instead of $length in i 3rd stmt it is giving... (8 Replies)
Discussion started by: ravi raj kumar
8 Replies

7. UNIX for Dummies Questions & Answers

expr command

hi guys.... i hava a command expr... where i m adding a value in a loop like Tc=`expr $Tc\+ $l` where Tc is declred as a variable and every time l contains a new vaue if Tc =0 initially and l =2 Tc should be equal to 0+ 2 and then l = 4 Tc = 2+4 and dispaly as 6 but after... (5 Replies)
Discussion started by: madhu_aqua14
5 Replies

8. Shell Programming and Scripting

about accecing `expr` command

Hi All, I have created 85 users on Linux server. I use bsh shell for all users.But after any user get logged in on unix,he/she is not able to access the expr command.So anyone can tell me that if i have to include some files to access expr command.Because when i write-> expr 6+2 on $ prompt i'll... (1 Reply)
Discussion started by: bhumi
1 Replies

9. UNIX for Dummies Questions & Answers

Problems with expr command

Hi All, I might be making a silly mistake but I need ur help. I have initialized various variables: cur_month=`date +%m` cur_year=`date +%y` last_year=`expr $cur_year \- 1` It works fine for cur_month & cur_year....but has problems with last_year. FOR LAST YEAR IT GIVES A FOLLOWING... (2 Replies)
Discussion started by: rooh
2 Replies

10. UNIX for Dummies Questions & Answers

expr command

I am looking for the correct syntax on the expr command in UNIX. I have a script that I am building at the moment. the script is creating file1 that is an actual .sql file that is going inside the oracle database to get some information in there. It take that information, puts it inside another... (2 Replies)
Discussion started by: wolf
2 Replies
Login or Register to Ask a Question