But, I am getting different ouput on GNU sed version 4.1.5
# Ans: abc 123def 456
The behaviour of GNU sed is the more "strictly" correct :
first match : abc 123
second match : \([a-z]*\) \([0-9]*\) means :
one string made of 0 or more characher within range a to z
one space
one string made of 0 or more digit within range 0 to 9
So it match "the string made of 0 caracter followed by space followed by another 0 length digit string. " Which in fact means "space"
So the first space that comes just after the first pattern matching... match the second pattern matching ... that is why you get this result.
So It looks like the implementation of Sun sed and GNU sed differs ( this case demonstrate this)
So to get the same result, you should (just for the example) to force one of the string to match at least one caracter so it can not match empty string:
Hi , I need to remove pipe character from a |^ delimeted file.
Something like |^tran|sformers||^|revenge |of fallen|^ to
|^transformers|^revenge of fallen|^...
Cold anybody please help to build the regular expression using sed .
many thanks.
Please use code tags next time for... (1 Reply)
I am learning SED and just following the shell scripting book, i have trouble understanding the grep and sed statement,
Question : 1
__________
/opt/oracle/work/antony>cat teledir.txt
jai sharma 25853670
chanchal singhvi 9831545629
anil aggarwal 9830263298
shyam saksena 23217847
lalit... (7 Replies)
Hello All,
I'm trying to extract the lines between two consecutive elements of an array from a file.
My array looks like:
problem_arr=(PRS111 PRS213 PRS234)
j=0
while } ]
do
k=`expr $j + 1`
sed -n "/${problem_arr}/,/${problem_arr}/p" problemid.txt
---some operation goes... (11 Replies)
Hi all,
I want to get a substring from a string based on given delimiter, for example:
str="foo|bar|baz" with delimiter "|",
I want to get one substring at each time with the order number the substring in the whole string,
given 1 to get "foo",
given 2 to get "bar",
given 3 to get "baz",
I... (2 Replies)
Hi all,
How am I read a file, find the match regular expression and overwrite to the same files.
open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat";
open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat";
while (<DESTINATION_FILE>)
{
# print... (1 Reply)
please consider this:
echo "11111*X*005010X279~ST*270*1111111*005010X279~BHT*0011*11" | sed 's/.*\(005010X(\d)(\d)(\d)*\).*$/\1/'i'm searching for first occurrence of 005010X while leaving rest of characters out.
:confused:
any tips? thnx in advance guys. (7 Replies)
Hi
I need to get text that are within ""
For example
File:
asdasd "test test2" sadasds asdda asdasd "demo demo2"
Output:
test test2 demo demo2
Any help is good
Thank you (12 Replies)
Hi!
I'm trying to write a regexp but I have no luck...
I have a string like this:
param1=sometext¶m2=hello¶m3=bye
Also, the string can be simply:
param2=hello
I want to return the value of param2: "hello".
How can I do this?
Thanks. (3 Replies)
Hi,
I'm trying following:echo "test line XA24433 test" | sed 's/.*X\(.*\)/X\1/'
XA24433 test While I want the output as: XA24433
I want to grab the words starting with letter X till the next space, this word can be anywhere in the line. (9 Replies)