This is my code.... It works correct, but does not work with 4 and 5. My program is about finding average. so when i run 4 5 it gives me error "expr: non-integer argument".
But when i say sh average 45 67 it works. Whats wrong?how to fix it?
Code:
sum=0
n=0
if [ $# -gt 0 ]
then
for i in $*
do
if [ -f $i ]
then
while read line
do
for j in $line
do
n=`expr $n + 1`
sum=`expr $sum + $j`
done
done< $i
else
sum=`expr $sum + $i`
n=`expr $n + 1`
fi
done
else
while read line
do
for j in $line
do
n=`expr $n + 1`
sum=`expr $sum + $j`
done
done
fi
average=`expr $sum / $n`
echo $average
Hi everybody,
I want to know how can i use the command 'expr' to manipulate float number , i have a shell bash and when (for example) i do:
y1=`expr \( 1/ 16 \)`
it returns 0
and if i do
y1=`expr \( 1.6 / 16 \)`
it returns non numeric argument.
is there another command for mathematic... (4 Replies)
I need to accept a number of arguments at command line and print it in reverse order
i use eval `echo x=$1` to capture the argument
#! /bin/sh
counter=0
while
do
eval `echo x=$1`
arg$counter=$x
counter=`expr $counter + 1`
shift
done
but the error keeps... (1 Reply)
Hi all,
In KSH, I have got an error message like,
"expr: Integer argument too large"
I received this error message when I mutiply two large values and displaying the resultant output.
Is there any other altenative way to go with too large values?
Kindly let me know asap...
Thanks in... (12 Replies)
i got a file called Marks
The format of Marks is:
12345678 5 7
23456789 7 9 3
What can i do with a loop, read expr and echo command to produce a new file like below:
12345678:12
23456789:20
and also when we adding fewer than 3 value with expr, we need to change any null value for... (13 Replies)
Hi all,
i am facing the error "expr: non-numeric argument" when i use the expr command.
Following is the expression which i want to execute
HR=$(echo `date +%H`)
MIN=$(echo `date +%M`)
TOT_MIN=`expr "$HR" \* 60+$MIN` | bc
echo $TOT_MIN
Here I am being reported with the error expr:... (6 Replies)
i wrote this simple shell script
#!/bin/bash
read N1
read N2
expr $N1 + $N2
it work fine in bash and i add it on xinetd for some test but when i try to use in with telnet i got this error :
ehsan@debian:~$ telnet 192.168.1.4 1234
Trying 192.168.1.4...
Connected to 192.168.1.4.... (14 Replies)
Hi,
I am trying to execute a simple script as below to compare a value from a file and copy that line based on a condition.
while read line
do
code_check = `expr substr "$line" 6 1`
if ; then
echo "${line}" >> /temp/bill/push_updated.dat
else
echo "line ignored"
fi
done <... (8 Replies)
Hi,
I am new to shell/bash script. I am trying to run below script
#!/bin/bash
a=0
b=10
if
then
echo "a is equal to be"
else
echo "a is not equal to be"
fi
MAX=10
while
do
echo $a
a='expr $a + 1'
done (1 Reply)
Hi,
I tried to look up the issue i'm experiencing, but i'm confused what's wrong with my script.
After executing the script I'm getting the following error
expr: non-numeric argument
syntax error on line 1, teletype
After some research, it seems that the problem relates to bc.
I have... (1 Reply)
Discussion started by: nms
1 Replies
LEARN ABOUT REDHAT
expr
EXPR(1) FSF EXPR(1)NAME
expr - evaluate expressions
SYNOPSIS
expr EXPRESSION
expr OPTION
DESCRIPTION --help display this help and exit
--version
output version information and exit
Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be:
ARG1 | ARG2
ARG1 if it is neither null nor 0, otherwise ARG2
ARG1 & ARG2
ARG1 if neither argument is null or 0, otherwise 0
ARG1 < ARG2
ARG1 is less than ARG2
ARG1 <= ARG2
ARG1 is less than or equal to ARG2
ARG1 = ARG2
ARG1 is equal to ARG2
ARG1 != ARG2
ARG1 is unequal to ARG2
ARG1 >= ARG2
ARG1 is greater than or equal to ARG2
ARG1 > ARG2
ARG1 is greater than ARG2
ARG1 + ARG2
arithmetic sum of ARG1 and ARG2
ARG1 - ARG2
arithmetic difference of ARG1 and ARG2
ARG1 * ARG2
arithmetic product of ARG1 and ARG2
ARG1 / ARG2
arithmetic quotient of ARG1 divided by ARG2
ARG1 % ARG2
arithmetic remainder of ARG1 divided by ARG2
STRING : REGEXP
anchored pattern match of REGEXP in STRING
match STRING REGEXP
same as STRING : REGEXP
substr STRING POS LENGTH
substring of STRING, POS counted from 1
index STRING CHARS
index in STRING where any CHARS is found, or 0
length STRING
length of STRING
+ TOKEN
interpret TOKEN as a string, even if it is a
keyword like `match' or an operator like `/'
( EXPRESSION )
value of EXPRESSION
Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicograph-
ical. Pattern matches return the string matched between ( and ) or null; if ( and ) are not used, they return the number of characters
matched or 0.
AUTHOR
Written by Mike Parker.
REPORTING BUGS
Report bugs to <bug-coreutils@gnu.org>.
COPYRIGHT
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU-
LAR PURPOSE.
SEE ALSO
The full documentation for expr is maintained as a Texinfo manual. If the info and expr programs are properly installed at your site, the
command
info expr
should give you access to the complete manual.
GNU coreutils 4.5.3 February 2003 EXPR(1)