expr not working


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting expr not working
# 1  
Old 12-22-2010
Question expr not working

I am trying to get some coubt through the following code.
Code:
tot_ln_cnt=`wc -l ${OUTPUT_FILE_NAME}`
echo "tot_ln_cnt : "$tot_ln_cnt
fl_cnt=`ls -lrt *edi | wc -l`
echo "fl_cnt : "$fl_cnt
exclude_cnt=`expr $fl_cnt \* 2`
echo "exclude_cnt : "$exclude_cnt
ln_cnt=`expr $tot_ln_cnt - $exclude_cnt`
echo "ln_cnt : "$ln_cnt
if [ "${ln_cnt}" -gt 0 ]
then
echo "Total "${ln_cnt}" records written to the file "${OUTPUT_FILE_NAME} >>  ${LOG_FILE_NAME} 2>&1
else
echo "No records written to the file "${OUTPUT_FILE_NAME} >>  ${LOG_FILE_NAME} 2>&1
fi

but each time, I am getting a expr: Syntax error, while running this . along with that the value ln_cnt is not geting generated.
Also, the ln_cnt value might come as negative, if no records written...is the above code enough to get it done?
# 2  
Old 12-22-2010
write
Code:
exclude_cnt=`expr $fl_cnt * 2`

instead of
Code:
exclude_cnt=`expr $fl_cnt \* 2`

write
Code:
if [ $ln_cnt -gt 0 ]

instead of
Code:
if [ "${ln_cnt}" -gt 0 ]

R0H0N
# 3  
Old 12-22-2010
Its not working

Rohon,
I am getting the value of fl_cnt and exclude_cnt also....I think the problem is gerring generated while calculating ln_cnt....please help
# 4  
Old 12-22-2010
can you try as..
Code:
exclude_cnt=$(expr "${fl_cnt}" \* 2)

similarly make the changes to variable ln_cnt= ... and check
# 5  
Old 12-22-2010
MySQL Now its working fine.

I have found the bug...as i told you, the issue was not with fl_cnt or exclude_cnt. the issue was with tot_ln_cnt. the command
Code:
`wc -l ${OUTPUT_FILE_NAME}`

was giving the output "2465 PHCAE03DX".
So, I used
Code:
`cat ${OUTPUT_FILE_NAME} | wc -l`

instead of
Code:
`wc -l ${OUTPUT_FILE_NAME}`

in the existing code.
Thanks for your reponse.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Nn$( expr $n + 1)

HI there I am trying to understand Shell scripting to create my own, I am attempting a few examples can anyone tell me what this means?n=$( expr $n + 1)Tried looking on the internet, but just cannot find its anywhere :( .Help please (4 Replies)
Discussion started by: steve2015
4 Replies

2. Shell Programming and Scripting

If + expr

Hi I have bellow script: t1=`cat node1.txt | grep thread1 | cut -f2 -d '-'` t2=`cat node2.txt | grep thread2 | cut -f2 -d '-'` t3=`cat node1_rcat.txt | grep thread1 | cut -f2 -d '-'` t4=`cat node2_rcat.txt | grep thread2 | cut -f2 -d '-'` if ]; then echo "no restore" >> log.log... (6 Replies)
Discussion started by: primo102
6 Replies

3. Shell Programming and Scripting

/usr/local/bin/expr function not working

Legends, I am not able to set "expr" function in ksh script. Below is the sample code i used, and output is as "Syntax error" Please help me to come out of it. OUTPUT (9 Replies)
Discussion started by: sdosanjh
9 Replies

4. Shell Programming and Scripting

Error with expr - "expr: syntax error"

Hi All, I'm writing a shell script in KSH, where I want to store the filename, total record count and actual record count of all the source files. The source files reside in 4 different sub-folders under the same root folder. Below is code: #!/usr/bin/ksh... (6 Replies)
Discussion started by: jagari
6 Replies

5. UNIX for Dummies Questions & Answers

expr ?!

Hey there i want to subtract the content from $b from $a. Each variable has got 18 values (normal numbers from 0 - 99). How can i subtract them? I know i have to use the expr command, this is what i have till now: a=`cat Tabelle.dat | awk {'print $4'} | awk -F: {'print $1'}` b=`cat... (1 Reply)
Discussion started by: Mad van Bert
1 Replies

6. Shell Programming and Scripting

the expr \*

$ cat > mtable #!/bin/sh # #Script to test for loop # # if then echo "Error - Number missing form command line argument" echo "Syntax : $0 number" echo "Use to print multiplication table for given number" exit 1 fi n=$1 for i in 1 2 3 4 5 6 7 8 9 10 do echo "$n * $i = `expr $i \*... (1 Reply)
Discussion started by: jackel7777
1 Replies

7. Shell Programming and Scripting

expr not working

I have written below script which monitors a log file and if log file is not writting for 2 intervels then admin should be notified. ================ sh=`date | awk '{print $4}' | cut -d ":" -f1` sm=`date | awk '{print $4}' | cut -d ":" -f2` lh=`ls -l /opt/Heartbeat.log | awk '{print $8}' |... (5 Replies)
Discussion started by: paventhan
5 Replies

8. Shell Programming and Scripting

test expr VS [ expr ]

What is the difference between test expr VS . For example : if test 5 -eq 6 echo "Wrong" and if echo "Wrong" bot will give the same output as Wrong. Now, what is the difference between these two? though they are producing the same result why we need two? Any answer will be... (2 Replies)
Discussion started by: ashok.g
2 Replies

9. Red Hat

how to use expr

i am new to shell programming, currently using redhat linux of version 2.4.20-8. i have problem in executing expr command in the following shell script $ x=5 $ x='expr $x + 1' $ echo $x the output is displaying always expr $x + 1 Pls guide me for the above query (3 Replies)
Discussion started by: saikumarm80
3 Replies

10. UNIX for Dummies Questions & Answers

expr

Hello! I want to evaluate some mathematical expressions in a script and I try to use 'expr' command. Unfortunatally, when I have, for example, expr 8.2 + 6 the result is 'expr: non-numeric argument' Why ? I work on SunOs 5.7. Thanks in advance Nathe (5 Replies)
Discussion started by: Nathe
5 Replies
Login or Register to Ask a Question