![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| problem using a pipe to grep | ShellBeginner | Shell Programming and Scripting | 4 | 05-31-2009 09:14 AM |
| pipe report output to another server | mirx | Shell Programming and Scripting | 2 | 04-05-2009 06:41 PM |
| pipe output to two files | NobluesFDT | UNIX for Dummies Questions & Answers | 2 | 08-06-2008 05:54 PM |
| how to pipe output of here-document!! | sami98 | Shell Programming and Scripting | 7 | 02-17-2008 10:40 AM |
| output string message to pipe | princelinux | High Level Programming | 3 | 08-18-2006 02:09 AM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
||||
|
pipe output of grep to sed?
Is there a way I can do this:
search for text and replace line containing matched text with a different line? For example: "I want to replace text" I want to search for replace and then change the line to I am perplexed. Hope that makes sense. Thanks in advance. |
|
||||
|
You don't need to use grep at all. sed would be enough.
Code:
# Replace the whole line with a new one sed -e "s/.*old_string.*/new_string/" # Replace the chosen string with a new one sed -e "s/old_string/new_string/" # Replace every occurance of the chosen string with a new one sed -e "s/old_string/new_string/g" |
|
||||
|
Let me be more specific here:
I have two variables in a shell script that I assign by reading contents of a file The contents are as such a="$var1=xyz" b="$var1=abc" I need to search a second file for occurences of $var1=xyz and replace it with $var1=abc I have used sed -s 's/'"$a"'/'"$b"'/g' which works fine but whenever the contents of variable a contain some special characters for example a="$var1=fdh&%4" the replace is not working. If I change the value to just a="$var1=", the above sed works successfully to replace $var1= in the file to $var1=abc. Can anybody please help? |
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|