expr command


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers expr command
# 1  
Old 03-05-2007
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 on iteration it is not adding up the value...

any reason for it
# 2  
Old 03-05-2007
Quote:
Tc=`expr $Tc\+ $l`
why is the \+ ?

Could be just,
Tc=`expr $Tc+ $l`

Could you please post your script if possible ?
# 3  
Old 03-05-2007
It helps to post what answer you're getting as well. It might point to what the problem is.

Carl
# 4  
Old 03-05-2007
expr command

hi
this is the script

for i in `ls q*.txt`
do
l=0
tc=0
var=`tail -1 $i`
l=`echo $var | cut -d'|' -f2`
tc=`expr $tc+$l`
done

every time it gives the first answer
i.e if l =2
for the first time
it prints 2 always
if l = 6 next time
tc = 8 is expected
but displays 2 only
# 5  
Old 03-05-2007
Quote:
Originally Posted by madhu_aqua14
hi
this is the script

for i in `ls q*.txt`
do
l=0
tc=0
var=`tail -1 $i`
l=`echo $var | cut -d'|' -f2`
tc=`expr $tc+$l`
done

every time it gives the first answer
i.e if l =2
for the first time
it prints 2 always
if l = 6 next time
tc = 8 is expected
but displays 2 only
Code:
tc=0
for i in `ls q*.txt`
do
  l=`tail -1 $i | cut -d'|' -f2`
  tc=`expr $tc + $l`
  echo $tc
done

# 6  
Old 03-05-2007
Quote:
Originally Posted by madhu_aqua14
hi
this is the script
Code:
for i in `ls q*.txt`

Do not do that. Not only is ls unnecessary and slow, but it will break your script if there are any spaces or other pathological characters in any filenames.

Use:

Code:
for i in q*.txt

Quote:
Code:
do
l=0
tc=0
var=`tail -1 $i`
l=`echo $var | cut -d'|' -f2`
tc=`expr $tc+$l`
done

every time it gives the first answer
i.e if l =2
for the first time
it prints 2 always
if l = 6 next time
tc = 8 is expected
but displays 2 only
You reset $tc to 0 on every iteration of the loop. Set it before the loop.

Last edited by vgersh99; 03-07-2007 at 11:55 AM..
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. Homework & Coursework Questions

expr to translate the date command

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. Write a script called "tod" that will display the time of day in am or pm notation rather then the 24 hour clock time. Use expr to convert from 24-hour clock time. Use... (13 Replies)
Discussion started by: linuxtraining
13 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

help with expr command in script

Hi, I am trying to code a unix function to calculate date difference between two date variables. I am stuck at a point where I am trying to convert hours into minutes. Below is the code I am doing. function get_elapsed_time { export PROPS_FILE=temp.properties export... (8 Replies)
Discussion started by: Nutan
8 Replies

5. 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

6. 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

7. 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

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