Sponsored Content
Full Discussion: SED * operator
Top Forums Shell Programming and Scripting SED * operator Post 302271163 by matrixmadhan on Wednesday 24th of December 2008 03:45:12 AM
Old 12-24-2008
Quote:
Originally Posted by sinpeak
Thanks to all for the replies.

To matrixmadhan :

Going by your reply -

"It should match zero or more characters in the character class [a-z]
it will match 'a', 'b', 'c' and not the next space character <' '> so just that part is replaced by 'X'"

I tried :-

echo "a 123 abc" | sed 's/[a-z]*/X/'
echo "ab 123 abc" | sed 's/[a-z]*/X/'
echo "abc 123 abc" | sed 's/[a-z]*/X/'

all gave the same output as : X 123 abc

From your reply and the above result I understand - "*" will always start checking from the left in the input string. If it does not find a match , 'X' is replaced at the very beginning of the input string and the job is done.

But if it does find a match , it ends trying to find another match AND 'X' is kept in place of the matched token/characters.

Would request you to please confirm/correct the above.

Thanks

It will check from the start of the string ( <left of the string> ) and I hope this is what you meant, right?

Rest, you are right.

You need to remember this * means match zero or more characters.

There is going to be a definite replacement of zero or more matching characters.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Operator question

I need to find out if a variable contains a certain text string, then do something about it. Here is what I mean, but I don't know how to get a "contains" operator # We have volumes called: # /Volumes/BackupsA_K # /Volumes/BackupsL_Z # /Volumes/Backups_Admin # (could be more, etc)... (5 Replies)
Discussion started by: TheCrunge
5 Replies

2. Shell Programming and Scripting

And operator

I am trying to check two variables and if both are blank I want to set a flag: the_f3_pid=`rsh $target ps -ef | grep "f3.eab" | awk '{print $2}'` the_f7_pid=`rsh $target ps -ef | grep "f7.eab" | awk '{print $2}'` if ; then y=1 fi I get an error: ./script_name: test: 0403-021 ]... (4 Replies)
Discussion started by: rcarnesiii
4 Replies

3. HP-UX

Or operator with if

hi, i was trying to club to test condition with if. if -o ; then it is giving me error message, i wanted to ask how can we check two condtions with one if. (1 Reply)
Discussion started by: babom
1 Replies

4. Programming

new operator

Hi, Please clear the 2 questions, 2 Questions, 1) Why the new as a operator? Is there any special reason why it can't be a function like malloc? 2) How are we considering sizeof(),new are as a opearartors? I know + - * / -> , . etc.. are operators, which criteria satisfied by sizeof()... (4 Replies)
Discussion started by: Nagapandi
4 Replies

5. Shell Programming and Scripting

op of logical operator

Why the op of the following code is like this ???? i=4 j=-1 k=0 echo $? echo $? echo $? (5 Replies)
Discussion started by: lipun4u
5 Replies

6. Shell Programming and Scripting

Difference operator

Dear All, Good day, Just i would like to know that is there anything called difference operator in awk? For example, if a file contains 5 columns (as shown below) with both negative and positive values: Col1 Col2 Col3 Col4 Col5 I need to calculate the difference between Col1 and... (3 Replies)
Discussion started by: Fredrick
3 Replies

7. UNIX for Dummies Questions & Answers

su with << operator

All, THe below is my script , when i use this i am getting nothing . could any one help me to know what is the use of the << operator below su - $8 << supo echo "exportsph $2 $1 $3 $4" exportsph $2 $1 $3 $4 supo i also tried as individual command su - userid << supo , when i do... (3 Replies)
Discussion started by: arunkumar_mca
3 Replies

8. UNIX for Dummies Questions & Answers

+= operator

im new to bash scripting and im just using online tutorials and trial and error. i wanted to write a script to read numbers from a file and find their sum: #!/bin/bash theSum=0 for line in $(cat numbers.txt) do let "theSum = theSum + $line" echo "$line" done echo "The sum is... (3 Replies)
Discussion started by: astrolux444
3 Replies

9. Shell Programming and Scripting

sed or operator

hi, I got a requirement to change existing script like below to search additional pattern "DB select". i tried using \| opearator but it is not working :(. Below is the existing code echo $(cat ${1} |sed -n '/Error in/ { N N N /Too many/ { p ... (5 Replies)
Discussion started by: shyamxtasy
5 Replies

10. UNIX for Dummies Questions & Answers

Confusion with ++ operator

Can anyone guide me whats happening in this program given below. I got the Output 7 7 12 49... i was expecting 5 16 9 25. First is simple (3+1)*(3+1) Second is again 3*3; i =4 now Third i =5 then 5*5; i don't know where i am going wrong! #include<stdio.h> #define PRODUCT(x) (x*x) int... (5 Replies)
Discussion started by: Abhishek_kumar
5 Replies
REGEXP(6)							   Games Manual 							 REGEXP(6)

NAME
regexp - regular expression notation DESCRIPTION
A regular expression specifies a set of strings of characters. A member of this set of strings is said to be matched by the regular expression. In many applications a delimiter character, commonly bounds a regular expression. In the following specification for regular expressions the word `character' means any character (rune) but newline. The syntax for a regular expression e0 is e3: literal | charclass | '.' | '^' | '$' | '(' e0 ')' e2: e3 | e2 REP REP: '*' | '+' | '?' e1: e2 | e1 e2 e0: e1 | e0 '|' e1 A literal is any non-metacharacter, or a metacharacter (one of .*+?[]()|^$), or the delimiter preceded by A charclass is a nonempty string s bracketed [s] (or [^s]); it matches any character in (or not in) s. A negated character class never matches newline. A substring a-b, with a and b in ascending order, stands for the inclusive range of characters between a and b. In s, the metacharacters an initial and the regular expression delimiter must be preceded by a other metacharacters have no special meaning and may appear unescaped. A matches any character. A matches the beginning of a line; matches the end of the line. The REP operators match zero or more (*), one or more (+), zero or one (?), instances respectively of the preceding regular expression e2. A concatenated regular expression, e1e2, matches a match to e1 followed by a match to e2. An alternative regular expression, e0|e1, matches either a match to e0 or a match to e1. A match to any part of a regular expression extends as far as possible without preventing a match to the remainder of the regular expres- sion. SEE ALSO
awk(1), ed(1), sam(1), sed(1), regexp(2) REGEXP(6)
All times are GMT -4. The time now is 09:13 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy