Parentheses are special for the shell. So, you need to escape them.
Also note the whitespace introduced between the parenthesis (both opening and closing) and the following/preceding token.
And beware, expr can only do integer arithmetic.
Hence, I would recommend using the arithmetic capabilities of the shell ($((...))) itself (if you have them, that is) instead of an external expr command.
Last edited by elixir_sinari; 03-16-2013 at 12:23 AM..
This User Gave Thanks to elixir_sinari For This Post:
hello all,
i am having a variable with a value of 0000010000 and if i add the variable with some no:
suppose
i=0000010000
n=`expr $i + 1`
echo $n
the output i am reciving is 10001 .it deletes all the zeros
but i need result as 0000010001..
please help me...
thanks in... (3 Replies)
hey gents,
I'm working on something that will use snmpwalk to query the devices on my network and retreive the device name, device IP, device model and device serial. I'm using Nmap for the enumeration and sed to clean up the results for use by snmpwalk. Once i get all the data organized I'm... (8 Replies)
Friends,
I have a file with contents like:
interface Serial0/4/0/0/1/1/1/1:0
encapsulation mfr
multilink
group 101
Now I need to manipulate the file in such a way that to all the numbers less than 163, 63 gets added and to all numbers greater than 163, 63 gets deducted.(The numbers... (2 Replies)
Hi,
I have a file with thousands of lines like this:
Chr1 477515 . ACCCC ACCC 17.7 . INDEL;DP=17;AF1=1;CI95=0.5,1;DP4=0,1,0,3;MQ=32;PV4=1,0.036,1,1
Chr1 481987 . A AAAT 62 . INDEL;DP=11;AF1=1;CI95=0.5,1;DP4=0,0,1,3;MQ=41
I want to make a file with... (2 Replies)
I have a file like this
product qty1 qty2 value
cola 50 25 1
pepsi 100 75 2
muffin 25 30 0.5
would like to do the following operations with one line command
1) disply the line having "Qty1" greater than or equal to 50
2) display the line Qty1 - Qty2 ... (2 Replies)
Hi,
I have a requirement with,
No~Dt~Notes
1~2011/08/1~"aaa
bbb
ccc
ddd
eee
fff
ggg
hhh"
Single column alone got splitted into multiple lines.
I require the output as
No~Dt~Notes
1~2011/08/1~"aaa<>bbb<>ccc<>ddd<>eee<>fff<>ggg<>hhh"
mean to say those new lines to be... (1 Reply)
here is what i want to achieve.. i have a file with below contents
cat fileName
blah blah blah
.
.DROP this
REJECT that
.
--sport 7800 -j REJECT --reject-with icmp-port-unreachable
--dport 7800 -j REJECT --reject-with icmp-port-unreachable
.
.
.
more blah blah blah
--dport 3306... (14 Replies)
Hi
I want to perform arithmetic operations on output of `wc -l`.
for example
user046@sshell ~ $ ls -l
total 0
where "total 0" will increase one line in wc -l
filecount=`ls -l | wc -l`
here $filecount will be 1 but is should be 0
how to get rid of it ? (1 Reply)
i am having a varialbe a , which is input to my file
i want to multiply this input with value .43, and assign it to variable b.
i tried it as below:
#!/bin/sh
a=$1
b=`expr $1\*0.43`
echo b=$b
error : expr: non-integer argument
Please tell me , how to do this.
Thanks (10 Replies)
Discussion started by: rishifrnds
10 Replies
LEARN ABOUT ULTRIX
expr
expr(1) General Commands Manual expr(1)Name
expr - evaluate expressions
Syntax
expr arg...
Description
The arguments are taken as an expression. After evaluation, the result is written on the standard output. Each token of the expression is
a separate argument.
The operators and keywords are listed below. The list is in order of increasing precedence, with equal precedence operators grouped.
expr | expr Yields the first expr if it is neither null nor 0. Otherwise yields the second expr.
expr & expr Yields the first expr if neither expr is null or 0. Otherwise yields 0.
expr relop expr The relop is one of < <= = != >= > and yields 1 if the indicated comparison is true, '0' if false. The comparison is
numeric if both expr are integers, otherwise lexicographic.
expr + expr
expr - expr
Yields addition or subtraction of the arguments.
expr * expr
expr / expr
expr % expr
Yields multiplication, division, or remainder of the arguments.
expr : expr The matching operator compares the string first argument with the regular expression second argument; regular expres-
sion syntax is the same as that of The (...) pattern symbols can be used to select a portion of the first argument.
Otherwise, the matching operator yields the number of characters matched ('0' on failure).
( expr ) parentheses for grouping.
Examples
The first example adds 1 to the Shell variable a:
a=`expr $a + 1`
The second example finds the file name part (least significant part) of the pathname stored in variable a,
expr $a : '.*/(.*)' '|' $a
Note the quoted Shell metacharacters.
Diagnostics
The command returns the following exit codes:
0 The expression is neither null nor '0'.
1 The expression is null or '0'.
2 The expression is invalid.
See Alsoed(1), sh(1), test(1)expr(1)