12-23-2008
Quote:
Originally Posted by
sinpeak
1. echo "abc 123 abc" | sed 's/[a-z]*/X/'
yields -
X 123 abc
Does this mean the "*" operator matches ONLY the first and
the entire token - "abc" and replaces with "X" ?
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'
Quote:
2. echo "123 abc" | sed 's/[a-z]*/X/'
yields -
X123 abc
What does this indicate about the "*" operator ??
Here the very first character is outside the range of [a-z] which means zero character(s) have been matched - hence replacing with 'X'
* - means zero or more character
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
STRPOS(3) 1 STRPOS(3)
strpos - Find the position of the first occurrence of a substring in a string
SYNOPSIS
mixed strpos (string $haystack, mixed $needle, [int $offset])
DESCRIPTION
Find the numeric position of the first occurrence of $needle in the $haystack string.
PARAMETERS
o $haystack
- The string to search in.
o $needle
- If $needle is not a string, it is converted to an integer and applied as the ordinal value of a character.
o $offset
- If specified, search will start this number of characters counted from the beginning of the string. Unlike strrpos(3) and strri-
pos(3), the offset cannot be negative.
RETURN VALUES
Returns the position of where the needle exists relative to the beginning of the $haystack string (independent of offset). Also note that
string positions start at 0, and not 1.
Returns FALSE if the needle was not found.
Warning
This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on
Booleans for more information. Use the === operator for testing the return value of this function.
EXAMPLES
Example #1
Using ===
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
}
?>
Example #2
Using !==
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// The !== operator can also be used. Using != would not work as expected
// because the position of 'a' is 0. The statement (0 != false) evaluates
// to false.
if ($pos !== false) {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
} else {
echo "The string '$findme' was not found in the string '$mystring'";
}
?>
Example #3
Using an offset
<?php
// We can search for the character, ignoring anything before the offset
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
?>
NOTES
Note
This function is binary-safe.
SEE ALSO
stripos(3), strrpos(3), strripos(3), strstr(3), strpbrk(3), substr(3), preg_match(3).
PHP Documentation Group STRPOS(3)