09-25-2008
brackets vs parentheses - single and double
hi, unix gurus.
i am wondering if someone can give me a clear explanation of the differneces between parentheses and brackets, both single and double.
i have heard that double parentheses (( are used for numerical expressions and that single brackets [ are used for strings. but i see very different behavior on this forum and elsewhere. i would love some clarity!
thanks for your help as usual.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
i m trying the following command but its not working:
sed 's/find/\'replace\'/g' myFile
but the sed enters into new line
# sed 's/find/re\'place/g' myFile
>
I havn't any idea how to put single quote in my replace string. Your early help woud be appreciated. Thanx (2 Replies)
Discussion started by: asami
2 Replies
2. UNIX for Dummies Questions & Answers
what is the rationale behind putting double square brackets in an if clause?
for e.g.
if ] || ] || ];
then
echo some fields are null
fi (5 Replies)
Discussion started by: napolayan
5 Replies
3. Shell Programming and Scripting
One of the senior administrators gave me a shell script to modify and it begins as follows:
if ] && ]
{more code follows}
Why the double square brackets? (10 Replies)
Discussion started by: mojoman
10 Replies
4. Shell Programming and Scripting
Hi
First apologies if this has been raised before.
I've got the following in a ksh script:
if ]
For some reason this does not work. But if I remove the double square brackets to:
if
This works.
I thought ksh supported the ]. Or is there more to it?
Thanks in advance. (3 Replies)
Discussion started by: tsu3000
3 Replies
5. Shell Programming and Scripting
Dear All,
Recently got some sample from internet search for array handle in shell script, and I can not understand why we need to put double brackets when extracting array values by this way :
for ((i=0; i<${#admins}; i++)); do
echo "${admins}"
done
if modify from double to single... (2 Replies)
Discussion started by: tiger2000
2 Replies
6. Shell Programming and Scripting
Hi,
I just came across an interesting shell script syntax like the one below:
] && (trap 'rm -rf ${WORK_DIR}/*.$$; echo "\n\nInterrupted !!\n\n"; exit 4' 1 2 3 15)
Can someone please explain the code snippet above?
The trap command bit is fine but ] && is the hazy part.
Generally we use an... (2 Replies)
Discussion started by: King Nothing
2 Replies
7. UNIX for Dummies Questions & Answers
Hello,
I have done a great deal of research on this and still cannot come to an understanding of the following:
In if-else statements in shell scripting I have seen examples of single brackets, double brackets, single parantheses, and double paratheses. When should each one be used?
And... (2 Replies)
Discussion started by: mojoman
2 Replies
8. Shell Programming and Scripting
Hi.could you explain me what are the rules when we are using double parentesis in if statement,if I put ,the code is working ,with (( is not
#!/bin/bash
if (($# > 0))
then
if ((! -d "$1"))
then
echo "Directory $1 not found"
fi
else
echo Problem
fi (8 Replies)
Discussion started by: lio123
8 Replies
9. UNIX for Dummies Questions & Answers
Hi frieds, I don't understand the difference between single square bracket and double square brackets in a IF condition.
Ex.
if ;
then
RETURNJOB=1
else
RETURNJOB=0
fi
It run, but this
if ];
then
RETURNJOB=1
else
RETURNJOB=0
fi (4 Replies)
Discussion started by: dogshort
4 Replies
10. Shell Programming and Scripting
Hi Froum.
I have tried in vain to find a solution for this problem - I'm trying to replace any double quotes within a quoted string with a single quote, leaving everything else as is.
I have the following data:
Before:
... (32 Replies)
Discussion started by: pchang
32 Replies
GREP(1) General Commands Manual GREP(1)
NAME
grep, egrep, fgrep - search a file for a pattern
SYNOPSIS
grep [ option ] ... expression [ file ] ...
egrep [ option ] ... [ expression ] [ file ] ...
fgrep [ option ] ... [ strings ] [ file ]
DESCRIPTION
Commands of the grep family search the input files (standard input default) for lines matching a pattern. Normally, each line found is
copied to the standard output; unless the -h flag is used, the file name is shown if there is more than one input file.
Grep patterns are limited regular expressions in the style of ed(1); it uses a compact nondeterministic algorithm. Egrep patterns are full
regular expressions; it uses a fast deterministic algorithm that sometimes needs exponential space. Fgrep patterns are fixed strings; it
is fast and compact.
The following options are recognized.
-v All lines but those matching are printed.
-c Only a count of matching lines is printed.
-l The names of files with matching lines are listed (once) separated by newlines.
-n Each line is preceded by its line number in the file.
-b Each line is preceded by the block number on which it was found. This is sometimes useful in locating disk block numbers by con-
text.
-s No output is produced, only status.
-h Do not print filename headers with output lines.
-y Lower case letters in the pattern will also match upper case letters in the input (grep only).
-e expression
Same as a simple expression argument, but useful when the expression begins with a -.
-f file
The regular expression (egrep) or string list (fgrep) is taken from the file.
-x (Exact) only lines matched in their entirety are printed (fgrep only).
Care should be taken when using the characters $ * [ ^ | ? ' " ( ) and in the expression as they are also meaningful to the Shell. It is
safest to enclose the entire expression argument in single quotes ' '.
Fgrep searches for lines that contain one of the (newline-separated) strings.
Egrep accepts extended regular expressions. In the following description `character' excludes newline:
A followed by a single character matches that character.
The character ^ ($) matches the beginning (end) of a line.
A . matches any character.
A single character not otherwise endowed with special meaning matches that character.
A string enclosed in brackets [] matches any single character from the string. Ranges of ASCII character codes may be abbreviated
as in `a-z0-9'. A ] may occur only as the first character of the string. A literal - must be placed where it can't be mistaken as
a range indicator.
A regular expression followed by * (+, ?) matches a sequence of 0 or more (1 or more, 0 or 1) matches of the regular expression.
Two regular expressions concatenated match a match of the first followed by a match of the second.
Two regular expressions separated by | or newline match either a match for the first or a match for the second.
A regular expression enclosed in parentheses matches a match for the regular expression.
The order of precedence of operators at the same parenthesis level is [] then *+? then concatenation then | and newline.
SEE ALSO
ed(1), sed(1), sh(1)
DIAGNOSTICS
Exit status is 0 if any matches are found, 1 if none, 2 for syntax errors or inaccessible files.
BUGS
Ideally there should be only one grep, but we don't know a single algorithm that spans a wide enough range of space-time tradeoffs.
Lines are limited to 256 characters; longer lines are truncated.
GREP(1)