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
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
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
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
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
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
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
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
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
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
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
LEARN ABOUT HPUX
evmeventnamematchstr
EvmEventNameMatch(3) Library Functions Manual EvmEventNameMatch(3)
NAME
EvmEventNameMatch(), EvmEventNameMatchStr() - match EVM event name
SYNOPSIS
Library
EVM Support Library
Parameters
pattern The event name pattern sought. The pattern may be any valid event name string. It may include wildcard characters in place
of any component.
event The event containing the event name to be compared against the pattern.
match The result of the match. This operand is set to if the name matches the pattern, and to if it does not.
candidate A character string to be matched against the pattern
DESCRIPTION
Because special matching rules apply when deciding whether a candidate event name matches a known name, the EVM name matching functions
should be used for matching purposes, rather than the C string comparison functions The EVM functions match an event name against a sup-
plied pattern, ignoring any trailing appended components in the candidate name, and correctly matching wildcard characters.
The function takes an event and an event name pattern as input, and returns an indication of whether the event contains a name which
matches the pattern in the match output argument. The pattern may be any valid event name string, and may also include wildcard characters
in place of any component. A wildcard in the pattern matches zero or more name components. A matches exactly one component. A match
occurs if the event name matches all components indicated by the pattern, even if the name has additional trailing elements.
The function performs the same check as but takes a character string as the candidate event name, instead of extracting the candidate event
name from a supplied event.
Both functions set the match output argument to if the name matches the pattern, and to if it does not.
RETURN VALUE
The operation completed without error. The comparison was successful. The value of the match operand indicates whether the name matches
the pattern.
One of the arguments to the function is invalid.
The supplied pattern contains invalid characters.
The supplied event does not contain a name.
ERRORS
The value of is not set.
SEE ALSO
Routines
memccpy(3C), strcat(3C).
Event Management
EVM(5).
EVM Events
EvmEvent(5).
EvmEventNameMatch(3)