04-23-2008
expr is picky about its syntax, it wants spaces between everything; in particular, on both sides of parentheses, operators, variables, and, well, everything else. You also need to quote or backslash-escape the parentheses, otherwise you will get a warning from the shell. (Actually that's the warning you are getting at the mo.)
Last edited by era; 04-23-2008 at 11:32 AM..
Reason: Quote parens, too
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Fellows I ran in to a problem this morning and could not figure out a solution to it.
I have a file like
OBJECT="ABC" GFT="JHU"
DESCRIPTION="ABC MNCL JHDG "
OBJECT="ABC" GFT="JHU"
DESCRIPTION="ABC MNCL JHDG "
OBJECT="ABC" GFT="JHU"
DESCRIPTION="ABC MNCL JHDG "
DESCRIPTION="ABC MNCL JHDG "... (2 Replies)
Discussion started by: ajnabi
2 Replies
2. UNIX for Dummies Questions & Answers
I am using a script which does a lot of math and I am facing a problem.One value is greater than 10 mi and the script converts it to exponents i.e 70000000 7e...
and this is causing my statements to become invalid.
This is what I used
A=`expr "${total}-${FAC}"|bc`
where $total and $FAC are... (9 Replies)
Discussion started by: anujairaj
9 Replies
3. Shell Programming and Scripting
Hi all,
Here is my situation.
I have a text file TXT_FILE like this:
john 123456
jack 94589
kelvin 94595
mary 88585
I want to read the first word in each line ( the name ) and assign to a string variable ( EX_LIST ) in my script so that I can use later as this commandfor i in... (6 Replies)
Discussion started by: fongthai
6 Replies
4. Shell Programming and Scripting
I'm trying to get awk to do arithmetic functions with external variables and I'm getting an error that I cannot figure out how to fix.
Insight would be appreciated
money=$1
rate1=$(awk -F"\t " '/'$converting'/{print $3}' convert.table)
rate2=$(awk -F"\t"... (2 Replies)
Discussion started by: DKNUCKLES
2 Replies
5. Shell Programming and Scripting
Hi, I would like ask for you help for coding array operation.
array= ( a b c d e f )
I would like to remove entry "d" from my array and import the remaining entries back to the array.
Thanks. (3 Replies)
Discussion started by: phamp008
3 Replies
6. UNIX for Dummies Questions & Answers
Hi,
Can anyone explain me what is the functionality of this code
cat << EOF > $TSTFILE
/$1/ { print "SENT" }
EOF
Suggestions welcome
Thanks in advance (0 Replies)
Discussion started by: trichyselva
0 Replies
7. UNIX for Dummies Questions & Answers
I am trying to ask for full name in a script, Then echo back to the user with the surname only, omitting the first name.
Thanks (2 Replies)
Discussion started by: orjnet
2 Replies
8. Shell Programming and Scripting
/home8/mc09ats/UnixCw/file4
this is the path...i have 2 variables filename and filepath...i want
filename=file4
filepath=/home8/mc09ats/UnixCw
i.e. i think i have to find last occurence of "/" in string and the string after "/" want to take in some variable and string before last "/"... (4 Replies)
Discussion started by: AbhijitIT
4 Replies
9. Shell Programming and Scripting
I have a txt file with several columns and i want to peform an operation on two columns and output it to a new txt file .
file.txt
900.00000 1 1 1
500.00000
500.00000
100000.000
4
4
1.45257346E-07 899.10834 ... (4 Replies)
Discussion started by: shashi792
4 Replies
10. UNIX for Dummies Questions & Answers
dear all,
I need to get files from ftp when only files consist of words 'EUROPE'
ftp sources in folder /ftp1/ftp2/ftp3/201409
files inside /ftp1/ftp2/ftp3/201409is as below
201409_EUROPE_citizen.txt
201409_EUROPE_natality.txt
201409_EUROPE_occupancy.txt
201409_ASIA_citizen.txt... (1 Reply)
Discussion started by: radius
1 Replies
TEST(1) General Commands Manual TEST(1)
NAME
test - set status according to condition
SYNOPSIS
test expr
DESCRIPTION
Test evaluates the expression expr. If the value is true the exit status is null; otherwise the exit status is non-null. If there are no
arguments the exit status is non-null.
The following primitives are used to construct expr.
-r file True if the file exists (is accessible) and is readable.
-w file True if the file exists and is writable.
-x file True if the file exists and has execute permission.
-e file True if the file exists.
-f file True if the file exists and is a plain file.
-d file True if the file exists and is a directory.
-s file True if the file exists and has a size greater than zero.
-t fildes True if the open file whose file descriptor number is fildes (1 by default) is the same file as /dev/cons.
s1 = s2 True if the strings s1 and s2 are identical.
s1 != s2 True if the strings s1 and s2 are not identical.
s1 True if s1 is not the null string. (Deprecated.)
-n s1 True if the length of string s1 is non-zero.
-z s1 True if the length of string s1 is zero.
n1 -eq n2 True if the integers n1 and n2 are arithmetically equal. Any of the comparisons -ne, -gt, -ge, -lt, or -le may be used in place
of -eq. The (nonstandard) construct -l string, meaning the length of string, may be used in place of an integer.
These primaries may be combined with the following operators:
! unary negation operator
-o binary or operator
-a binary and operator; higher precedence than -o
( expr ) parentheses for grouping.
The primitives -b, -u, -g, and -s return false; they are recognized for compatibility with POSIX.
Notice that all the operators and flags are separate arguments to test. Notice also that parentheses and equal signs are meaningful to rc
and must be enclosed in quotes.
EXAMPLES
Test is a dubious way to check for specific character strings: it uses a process to do what an rc(1) match or switch statement can do. The
first example is not only inefficient but wrong, because test understands the purported string "-c" as an option.
if (test $1 '=' "-c") echo OK # wrong!
A better way is
if (~ $1 -c) echo OK
Test whether is in the current directory.
test -f abc -o -d abc
SOURCE
/sys/src/cmd/test.c
SEE ALSO
rc(1)
TEST(1)