The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
Google UNIX.COM
Home Forums Register Rules & FAQ Members List Arcade Search Today's Posts Mark Forums Read


UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!


Other UNIX.COM Threads You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
need assistance: sed and repeating patterns metalwarrior UNIX for Advanced & Expert Users 1 02-02-2008 01:00 AM
Repeating variables in the code mahalakshmi Shell Programming and Scripting 1 02-08-2007 03:33 AM
Repeating commands in a script Dave2874 Shell Programming and Scripting 4 03-14-2005 06:34 AM
Omit repeating lines TheCrunge UNIX for Dummies Questions & Answers 6 02-22-2005 02:26 PM
repeating kernel message progressdll UNIX for Advanced & Expert Users 2 07-29-2002 01:18 AM

Reply
 
Submit Tools LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 02-01-2008
Registered User
 

Join Date: Feb 2008
Posts: 16
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiReddit! Stumble this Post!Spurl this Post!
assitance with sed (repeating patterns)

hi,
I need to write a command to look into a text file, find lines that contain patterns of three or more characters that repeat once, and put perenthesizes around them. so for example, the line "123test123" would be changed to "(123)test(123)" and "abcdeabcde" to "(abcde)(abcde)".
any hint is appreciated.
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 02-01-2008
Registered User
 

Join Date: Feb 2008
Posts: 11
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiReddit! Stumble this Post!Spurl this Post!
Hello,

I can help you with 1st query , where you are trying to change "123test123" to "(123)test(123)" .

This can be done easily using SED .

----------
Syntax: sed -e 's/\(123\)/(\1)/g' :--> g parameter will replace the instance globally in file.

Example: echo 123test123 | sed -e 's/\(123\)/(\1)/g'
Output : (123)test(123)
----------

Try this out in your file and let us know how it goes at your end.

Thanks,
Reply With Quote
  #3 (permalink)  
Old 02-01-2008
Registered User
 

Join Date: Feb 2008
Posts: 16
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiReddit! Stumble this Post!Spurl this Post!
hi thanks for the reply, but I need the sed command to find all repeating patterns itself and put them inside (). I can not specify the pattern for it to look for.
it can be 123 or abc or anything that is repeated through the line.
thank you
Reply With Quote
  #4 (permalink)  
Old 02-01-2008
Registered User
 

Join Date: Feb 2008
Posts: 11
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiReddit! Stumble this Post!Spurl this Post!
Hello Metalwarrior,

Do you have any sigle pattern to replace ?

Or any patter which contains 3 or more than characters ?

Thanks,
Reply With Quote
  #5 (permalink)  
Old 02-01-2008
Registered User
 

Join Date: Feb 2008
Posts: 16
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiReddit! Stumble this Post!Spurl this Post!
ok let's say I have this line for example:
thispatternthatpattern
I want the sed automatically find the the repeated patterns and put them in (). so after the chagne it would look like this,
this(pattern)that(pattern).
Reply With Quote
Google UNIX.COM
Reply



Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -7. The time now is 09:25 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger

Search Engine Optimization by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102