sed noob needs help with replacement pattern.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed noob needs help with replacement pattern.
# 1  
Old 12-10-2012
sed noob needs help with replacement pattern.

Hi there,

i am absolutely new in shell programming and especially using sed. What i want to do is to replace every emailaddress suffix with another. In my Testfile there is:

Code:
foo@bar.com

My attempt to replace every @<something>.<someotherthing> is:
Code:
sed 's/@[a-z0-9A-Z]+\.[a-zA-Z0-9]+/REPLACE/g' test.txt >test_replaced.txt

But this isnt working. Is my RegEx wrong or do i use sed wrong?

Last edited by Donngal; 12-10-2012 at 06:19 AM..
# 2  
Old 12-10-2012
Code:
$ echo "test@abc.com" | sed 's/@[A-Za-z0-9]*\.[A-Za-z0-9]*/@REPLACE.REPLACE/'                                     
test@REPLACE.REPLACE
$ echo "123@213sdcsdc.com" | sed 's/@[A-Za-z0-9]*\.[A-Za-z0-9]*/@REPLACE.REPLACE/' 
123@REPLACE.REPLACE

---------- Post updated at 03:46 PM ---------- Previous update was at 03:45 PM ----------

In some sed version, + will not work as expected.
# 3  
Old 12-10-2012
thank you, that was the problem. But * is another thing than +, isn't it? * does accept zero characters after the @, too or not?
# 4  
Old 12-10-2012
yes

Code:
 
$ echo "123@.com" | sed 's/@[A-Za-z0-9]*\.[A-Za-z0-9]*/@REPLACE.REPLACE/'
123@REPLACE.REPLACE
$ echo "123@." | sed 's/@[A-Za-z0-9]*\.[A-Za-z0-9]*/@REPLACE.REPLACE/'
123@REPLACE.REPLACE

# 5  
Old 12-10-2012
ok, thx, i have to find a solution for that, then. But now i know the problem, and the rest ist another problem, i will find the solution by myself.

Thank you so far.

Edit:

Calling sed as
Code:
sed -r

to accept extended regular expressions does the trick for me.

Last edited by Donngal; 12-10-2012 at 06:34 AM..
# 6  
Old 12-11-2012
Quote:
Originally Posted by Donngal
thank you, that was the problem. But * is another thing than +, isn't it? * does accept zero characters after the @, too or not?
If you want to reproduce sed's + character to * then try as below
Code:
sed 's/@[a-z0-9A-Z][a-z0-9A-Z]*\.[a-zA-Z0-9][a-zA-Z0-9]*/REPLACE/g'


Last edited by michaelrozar17; 12-11-2012 at 04:02 AM..
This User Gave Thanks to michaelrozar17 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

GUI for multiple pattern replacement

I'm trying to change a few programs in our environment. Basically We have hardcoded some server names and stuff, So I want some one to suggest me some UNIX gui tools that can be used to replace these.. I really don't want to deal doing this through the command line. I want to transfer the files... (3 Replies)
Discussion started by: sudden
3 Replies

2. Shell Programming and Scripting

sed -- Find pattern -- print remainder -- plus lines up to pattern -- Minus pattern

The intended result should be : PDF converters 'empty line' gpdftext and pdftotext?xml version="1.0"?> xml:space="preserve"><note-content version="0.1" xmlns:/tomboy/link" xmlns:size="http://beatniksoftware.com/tomboy/size">PDF converters gpdftext and pdftotext</note-content>... (9 Replies)
Discussion started by: Klasform
9 Replies

3. Shell Programming and Scripting

Help with Pattern Matching and replacement in Gz files

Hi Techies, I need a help in finding junk characters and remove them from a Datafile. we have a file and it had crores of records like below SGSN_MCC_MNC=01150 but sometime due to the issue with sending server we are getting some junk characters in the middle of data like below ... (6 Replies)
Discussion started by: mahi_mayu069
6 Replies

4. Shell Programming and Scripting

Pattern Matching and replacement

Hello Everybody, I need a help in the below pattern matching and replacement issue I have a file : emp.txt 21356 suresh 12/12/2012 23511 ramesh 11/06/2011 31456 biswajit 09/08/2013 53134 archan 06/02/2009 first field:- employee id, 2nd field is name and third field is date of joining ... (10 Replies)
Discussion started by: shellscripting
10 Replies

5. Shell Programming and Scripting

Unix file pattern check and replacement

HI Guys , Using UNIX ,I intend to check with correct file pattern Access_file_Record.YYYYMM in path /tmp If the file exist in correct format come out from code . If not found check with different file patterns for same month period YYYYMM ( Like Access_file_Record_YYYYMM.txt or... (8 Replies)
Discussion started by: Perlbaby
8 Replies

6. Shell Programming and Scripting

Sed for selective pattern replacement

Hi I am having a code snippet grant permission to all user sts|ln|uSe|PSG sajncht|se|Use|PPSPSG psg|ln|use|TSPSG sts_user.Me revoke I need to change all occurance of use (uSe,Use,use) with USE. I am using the following sed command for this sed 's//USE/g' s_sample.txt Output: (7 Replies)
Discussion started by: sudeep.id
7 Replies

7. Shell Programming and Scripting

String replacement when particular pattern matches in a file

I have a file file123.xml which looks like this xmlEntry="username"="josh" <property="never_back_down"> phone="<178652>" apn=property:address="wonderland" xmlEntry="username"="jessica" <property="never_back_down"> phone="<178653>" apn=property:address="wonderland"... (5 Replies)
Discussion started by: poga
5 Replies

8. UNIX for Dummies Questions & Answers

awk pattern replacement

Hi I'm a newbie in unix and I'm having trouble in creating a script. I want to search for a pattern '_good' and insert new lines that contains '_bad', '_med', '_fail' while also ensure that the line contains _good is removed here some of the data UPDATE SCHOOL SET GRADE =... (1 Reply)
Discussion started by: sexyTrojan
1 Replies

9. Linux

matching pattern and replacement

Hi I am trying to look for a view name in create view statement and then replace this view name with VW_ in grants line in my ddl file . cat dim_provider.sql | grep -i "create view" | while read f1 f2 f3 f4 f5 f6 f7 f8 f9 do new_vw=` echo "$f3" | cut -d "." -f2... (32 Replies)
Discussion started by: capri_drm
32 Replies

10. UNIX for Dummies Questions & Answers

Pattern Replacement

There is a requirement that i need to replaced a pattern by another pattern in all the files in my entire file system. there are 1000s of file in the system. let the pattern is "calcuta". i have to replace this pattern by "kolkata" in all those files which contain "calcuta". I am only able to... (12 Replies)
Discussion started by: palash2k
12 Replies
Login or Register to Ask a Question