Using the command SED


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using the command SED
# 1  
Old 01-06-2012
Using the command SED

I am trying to use sed with substitute to replace a section of text in a fileA.

Question 1:
If I want to want replace the "search" string with "replace" string inside fileA. I understand that I can use
Code:
sed 's/search/replace' < fileA >fileB

I also tried to do <fileA >fileA, but it doesn't work. Why is that? I don't want an extra file, fileB.

Question 2:
My main question. Inside the comand sed 's/search/replace' < fileA >fileB, the string "search" and "replaced" are actually inside fileC and fileD. How do I write the command? Thanks!

Moderator's Comments:
Mod Comment How to use code tags when posting data and code samples.

Last edited by Franklin52; 01-06-2012 at 06:08 PM.. Reason: Please use code tags for data and code samples, thank you
# 2  
Old 01-06-2012
This is one way of doing it:
Code:
sed 's/Search/Replace/' Input > Output

# 3  
Old 01-06-2012
Which system are you using? UNIX tool behave differently between systems
Quote:
Originally Posted by jyang72211
Question 1:
If I want to want replace the "search" string with "replace" string inside fileA. I understand that I can use

sed 's/search/replace' < fileA >fileB
I think you're missing the last slash. And if your sed takes files as argument, the `<` is useless:
Code:
sed 's/search/replace/' fileA >fileB

Quote:
Originally Posted by jyang72211
I also tried to do <fileA >fileA, but it doesn't work. Why is that? I don't want an extra file, fileB.
Try -i option:
Code:
sed -i 's/search/replace/' fileA

Quote:
Originally Posted by jyang72211
Question 2:
My main question. Inside the comand sed 's/search/replace' < fileA >fileB, the string "search" and "replaced" are actually inside fileC and fileD. How do I write the command? Thanks!
If fileC and fileD contain multiple search & replace patterns, you need to write a script that read each line in fileC and fileD to variables and use them in your sed command:
Code:
sed 's/'"$search"'/'"$replace"'/' fileA

This User Gave Thanks to tukuyomi For This Post:
# 4  
Old 01-06-2012
1)
Code:
sed -i s/search/replace/' fileA

2) Assume that fileC, fileD contains just one string.
try this:
TO_GREP=`cat fileC`
TO_REP=`cat fileD`
Code:
sed "s/$TO_GREP/$TO_REP/" fileA

This User Gave Thanks to greet_sed For This Post:
# 5  
Old 01-07-2012
I am working on a xp machine, and I am telneting to a linux system.
# 6  
Old 01-07-2012
Code:
root@bt> cat fileA
Linux Unix Solaris Windows
root@bt> cat fileC
Windows
root@bt> cat fileD
Oops

root@bt> sed "s/$(<fileC)/$(<fileD)/g" fileA
Linux Unix Solaris Oops

Storing it in fileB
Code:
root@bt> sed "s/$(<fileC)/$(<fileD)/g" fileA > fileB
root@bt> cat fileB
Oopsx Unix Solaris Oops

Modifying the fileA inline using -i option in sed
Code:
root@bt> sed -i "s/$(<fileC)/$(<fileD)/g" fileA 
root@bt> cat fileA
Oopsx Unix Solaris Oops

HTH
--ahamed
This User Gave Thanks to ahamed101 For This Post:
# 7  
Old 01-07-2012
Quote:
Originally Posted by greet_sed
1)
Code:
sed -i s/search/replace/' fileA

2) Assume that fileC, fileD contains just one string.
try this:
TO_GREP=`cat fileC`
TO_REP=`cat fileD`
Code:
sed "s/$TO_GREP/$TO_REP/" fileA


When I do 2), can I execute the 3 lines one at a time?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Output of sed command to another sed command

Hi All, I'm relatively new to Unix scripting and am trying to get my head around piping. I'm trying to take a header record from one file and prepend it to another file. I've done this by creating several temp files but i'm wondering if there is a cleaner way to do this. I'm thinking... (10 Replies)
Discussion started by: BigCroyd
10 Replies

2. Shell Programming and Scripting

sed and awk giving error ./sample.sh: line 13: sed: command not found

Hi, I am running a script sample.sh in bash environment .In the script i am using sed and awk commands which when executed individually from terminal they are getting executed normally but when i give these sed and awk commands in the script it is giving the below errors :- ./sample.sh: line... (12 Replies)
Discussion started by: satishmallidi
12 Replies

3. Shell Programming and Scripting

sed Command

Hello, I'm working with this command which I'm having trouble understanding it: sed -e '1,$ s/SUB/N/g' < $1 > file.txt Where SUB stand for an special character with code in ASCII is 0x1A, notepad read it as a right arrow. Any help will be appreciated. (5 Replies)
Discussion started by: emilioveras
5 Replies

4. Shell Programming and Scripting

sed returns error "sed: -e expression #1, char 18: unterminated `s' command"

Hello All, I have something like below LDC100/rel/prod/libinactrl.a LAA2000/rel/prod/libinactrl.a I want to remove till first forward slash that is outputshould be as below rel/prod/libinactrl.a rel/prod/libinactrl.a How can I do that ??? (8 Replies)
Discussion started by: anand.shah
8 Replies

5. UNIX for Advanced & Expert Users

sed command

Hi..... I'm using sed command for replace the words in a file cat >test.txt My test.txt contains Mary had a little ham Mary fried a lot of spam Jack ate a Spam sandwich Jill had a lamb spamwich Marry had a spicy wich $ sed 's/wich$/mirchi/g' test.txt output is: Mary had a little ham... (24 Replies)
Discussion started by: ksrivani
24 Replies

6. UNIX for Dummies Questions & Answers

sed insert command and variable expansion/command substitution

I know this script is crummy, but I was just messing around.. how do I get sed's insert command to allow variable expansion to show the filename? #!/bin/bash filename=`echo $0` /usr/bin/sed '/#include/ { i\ the filename is `$filename` }' $1 exit 0 (8 Replies)
Discussion started by: glev2005
8 Replies

7. Shell Programming and Scripting

Convert Sed command to perl command

Hello, Can any perl experts help me convert my sed string to perl. I am unsuccessful with this. I have to remove this string from html files OAS_AD('Top'); I have come up with this. However the requirement is in perl. for find in $(find . -type f -name "file1.html") ; do cat $find |... (2 Replies)
Discussion started by: abacus
2 Replies

8. UNIX for Dummies Questions & Answers

some help with the sed command please

hi all, attached you can find a small txt file ( .txt ), GIVEN that past_scheduler="islip" and scheduler="mucf" can somebody please tell me WHY sed 's/-u '$past_scheduler'/-u '$scheduler'/g' .txt > .txt.temp fails ? thanx (3 Replies)
Discussion started by: OneDreamCloser
3 Replies

9. Shell Programming and Scripting

Loop with sed command to replace line with sed command in it

Okay, title is kind of confusion, but basically, I have a lot of scripts on a server that I need to replace a ps command, however, the new ps command I'm trying to replace the current one with pipes to sed at one point. So now I am attempting to create another script that replaces that line. ... (1 Reply)
Discussion started by: cbo0485
1 Replies

10. Shell Programming and Scripting

awk/sed Command : Parse parameter file / send the lines to the ksh export command

Sorry for the duplicate thread this one is similar to the one in https://www.unix.com/shell-programming-scripting/88132-awk-sed-script-read-values-parameter-files.html#post302255121 Since there were no responses on the parent thread since it got resolved partially i thought to open the new... (4 Replies)
Discussion started by: rajan_san
4 Replies
Login or Register to Ask a Question