sed special characters issues

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed special characters issues
# 1  
Old 02-01-2013
sed special characters issues

I am dusting off the sed cobwebs and had a basic question:

I have a file that contains:
$firewall = "on";
$cache = "on";
$dataset{'mary had a little lamb'} = "on";

and want to only change the contents of what is between the single quotes:
$dataset{'big bad wolf'} = "on";

I tried several combinations but to no evail:

sed 's/^\$dataset{'*'} = "on"\;/\$dataset{'big bad wolf'} = "on"\;/' test.txt
sed "s@^$dataset{'*'} = "on";@$dataset{'big bad wolf'} = "on";@" test.txt
sed 's@^*$@&'big bad wolf' test.txt

So essentially saying, whatever sed finds whats in between the single quotes replace it with "big bad wolf"

Someone please enlighten me!

Last edited by metallica1973; 02-01-2013 at 04:18 PM..
# 2  
Old 02-01-2013
sed "s/'.*'/'big bad wolf'/" yourfile

sed "s/['].*[']/'big bad wolf'/" yourfile

#cat tst
$dataset{'big bad wolf'} = "on";
#sed "s/'.*'/'TST'/" tst
$dataset{'TST'} = "on";

# 3  
Old 02-01-2013
Thanks for the reply. I should have added the complete text file but there are other variables in the file and I want to just look for only this occurrence of:


$firewall = "on";
$cache = "on";
$dataset{'mary had a little lamb'} = "on";

Would this apply?

---------- Post updated at 02:29 PM ---------- Previous update was at 02:25 PM ----------

sed "/dataset/ s/'[^']*'/'new text'/" infile

this works but I need some clarification of the context of it.
# 4  
Old 02-01-2013
sed "/pattern/s/'[^']*'/'new text'/" infile

if a line contain the pattern then the substitution apply otherwise the line is just diplayed without substitution
This User Gave Thanks to ctsgnb For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed in a while loop with special characters

I have the foolowing data file: File1 <p name="A">5004</p> <p name="B">5004</p> <p name="C">5004</p> <p name="A">15004</p> <p name="B">15004</p> <p name="C">15004</p> In a while loop using sed (100 of line need to be replace), I need the output to File3:... (2 Replies)
Discussion started by: bobo
2 Replies

2. Shell Programming and Scripting

Sed - remove special characters

Hi, I have a file with this line, it's always in the first line: I want to remove these special characters: ╗┐ file1 ╗┐\\bar\c$\test2\;3.348.118 Bytes;160 ;3 \\bar\c$\test\;35 Bytes;2 ;1 I want the same file to be only \\bar\c$\test2\;3.348.118 Bytes;160 ;3 \\bar\c$\test\;35... (4 Replies)
Discussion started by: nakaedu
4 Replies

3. Shell Programming and Scripting

sed special characters issue

Hi I'm trying to replace string1 by string2 in file homepage.htm as follows but is not working. Please Help: sedsed -i "s@'://your server name:port/test/owa'@'://'@g" homepage.htm Where, String1 ://your server name:port/test/owa String2... (3 Replies)
Discussion started by: koazter
3 Replies

4. Shell Programming and Scripting

Escape special characters in SED

Need help in escaping special characters in sed command. Here is the the string which i am trying to find a replace with From :- REQUEST_TYPE=PIXEL&amp;MSG_ID={//MESSAGE_ID} To :- REQUEST_TYPE=PIXEL&amp;MSG_ID= X_EDELIVERY_MESSAGE_ID &amp; BATCH_ID= X_EDELIVERY_BATCH_ID Here is the sed command i am... (2 Replies)
Discussion started by: aakishore
2 Replies

5. Shell Programming and Scripting

Need help with sed to escape special characters

Hello Everyone, I need to read an encrypted password from the user and update that value in an xml file. I am trying to use "sed" for searching the appropriate tag and replacing this new value that get from the user. Since the encrypted password can contain special characters(like /,\,&,etc),... (4 Replies)
Discussion started by: majose
4 Replies

6. Shell Programming and Scripting

SED with Special characters

Hello All Seeking the right one SED command. My attempt is: From orginal.txt by SED to target.txt sed -i "/('outbound-callerid/a\$ext->add($context, $exten, '', new ext_SipAddHeader('P-Preferred-Identity', '<sip:${CALLERID(nummer)}>'));" orginal.txtWhat am make wrong?:wall: ... (5 Replies)
Discussion started by: mdbinder
5 Replies

7. Shell Programming and Scripting

Using sed to replace special characters

Hi everyone I have file1 contains: '7832' ' 8765 6543 I want a sed command that will format as: '7832' , '8765' , '6543' I tried sed -e s/\'//g -e 's/^*//;s/*$//' file1 > file2 sed -e :a -e '$!N; s/\n/ /; ta' file2 which gives: 7832 8765 6543 I need some help to continue with... (5 Replies)
Discussion started by: nimo
5 Replies

8. Shell Programming and Scripting

sed with many special characters

I started with this: counter1=1 cp file.txt file_${counter1}.tmp while read name1 do echo $name1 counter2=`expr $counter1 + 1` sed /'${name1}'/d file_${counter1}.txt > file_${counter2}.txt counter1=`expr $counter1 + 1` done < source.txtsource.txt contains the... (1 Reply)
Discussion started by: lakanino
1 Replies

9. Shell Programming and Scripting

sed with special characters

Hi, I am reading a file (GC_JAR.log) which has entries like: 511725.629, 0.1122672 secs] 525268.975, 0.1240036 secs] 527181.835, 0.2068215 secs] 527914.287, 0.2884801 secs] 528457.134, 0.2548725 secs] I want to replace all the entries of "secs]" with just "secs" Thus, the output... (4 Replies)
Discussion started by:
4 Replies

10. Shell Programming and Scripting

help on sed replacing special characters

Hello, I have a file with many lines with below format: \abc\\1234 jkl\\567 def\\345 \pqr\\567 \xyz\\234 Here, i need to do 2 things. 1. replace \\ with \ 2. remove starting \ so output to be as below: (11 Replies)
Discussion started by: prvnrk
11 Replies
Login or Register to Ask a Question

Featured Tech Videos