escaping '


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting escaping '
# 1  
Old 02-08-2011
escaping '

I'm cleaning this from some html files
Code:
style=''

but when I try
Code:
's/style=\'\''//'

I get an unmatched ' error
# 2  
Old 02-08-2011
Try this:
Code:
sed -e "s/style=\'\'//g"

# 3  
Old 02-08-2011
TY, that worked. Did I need the double quotes since I was trying to remove single quotes?
# 4  
Old 02-08-2011
Your original post contains 5 single quotes. When I removed the extra quote I got an unmatched error. Though I can't remember why, it is necessary to use double quotes in this circumstance.

We can avoid escaping the single quote by generating the character.
This technique is useful for special shell characters and unprintable characters.
Code:
quote_char=$(echo "\0047\c")
echo "style=''" | sed -e "s/${quote_char}${quote_char}/NEWSTRING/g"

style=NEWSTRING

# 5  
Old 02-08-2011
You don't need the \ inside "". For sed they are normal characters, quoting is only used to protect from the shell:
Code:
sed "s/style=''//"

outside the double quotes we need to escape them with a \ :
Code:
sed s/style=\'\'//

we can't escape (\) single quotes inside single quotes, so we have to end the quotes before we can specify escaped single quotes...
Code:
sed 's/style='\'\''//'


Last edited by Scrutinizer; 02-08-2011 at 12:22 PM..
This User Gave Thanks to Scrutinizer 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

Escaping a variable in ksh

I am trying to echo a variable exactly to a script- echo "${var1} ${var2} >> output.output Gives me a blank file. I would like output.output to basically say: ${var1} ${var2} I think I need to use a special escape character for variables. Am I right in assuming that, and is it the... (8 Replies)
Discussion started by: jeffs42885
8 Replies

2. Shell Programming and Scripting

Escaping the \

So I understand that I should be able to ouput a literal \ by escaping it with a preceding \. My problem is that I am trying to ouput a script that will subsequently be run on a different system with UNC pathing, so I want to ouput two \\ in a row, but escaping them both in sequential order is not... (4 Replies)
Discussion started by: JourneyRider
4 Replies

3. Shell Programming and Scripting

escaping path

Hi I use : path=/var/www/admin echo "$path" | sed -e 's/\//\\\//g' this return \/var\/www\/admin and is ok. but path2=`echo "$path" | sed -e 's/\//\\\//g'` echo $path2 return an error: sed: -e expression #1, char 9: unknown option to `s' Can anyone help me? Thanks (3 Replies)
Discussion started by: georgian
3 Replies

4. Shell Programming and Scripting

Escaping ** correctly

Hello This should be easy, but bash is giving me headaches. At the command line the following command works: duplicity --include /home --exclude '**' / file:///foo Doing that from a script is not straightforward. Note that it is basically a requirement that I place the... (3 Replies)
Discussion started by: brsett
3 Replies

5. UNIX for Dummies Questions & Answers

Escaping comma with \ in file

Hi, I have pipe delimited file in which some of the description fields can have commas. e.g. 1|123|abc,def 2|456|qwert 3|345|aty,try,rty I need to convert this to a 'csv' file BUT i need to add \ before every comma present in the description values (so that my next program can read it as... (3 Replies)
Discussion started by: dsrookie
3 Replies

6. Shell Programming and Scripting

Escaping Special characters

I want to append the following line to /var/spool/cron/root: */7 * * * * /root/'Linux CPU (EDF).sh' > /dev/null 2>&1 How to accomplish this using echo? ---------- Post updated at 04:09 PM ---------- Previous update was at 04:07 PM ---------- "Linux CPU (EDF)" is actually stored in a... (11 Replies)
Discussion started by: proactiveaditya
11 Replies

7. Shell Programming and Scripting

Escaping Special Characters-Help

Hi All, I am having a trouble in passing special characters to a script. As I am new to bash script I dont know how to go and solve this. mypwd=(a+sdfg!h# if i pass $mypwd to a bash script, it is not accepting "(,!,+ etc". It would be a great help if some one can help to escape these... (3 Replies)
Discussion started by: Tuxidow
3 Replies

8. Shell Programming and Scripting

Escaping embedded variables

I'm running into a problem with a differential backup script written in GNU Bash 3.0 - the following stripped down code demonstrates the problem quite nicely. $ DATE="last tuesday" $ date --date="$DATE" Tue Jan 6 00:00:00 PST 2009 So far so good. $ CMD="date --date=\"$DATE\"" $... (6 Replies)
Discussion started by: vertigo23
6 Replies

9. UNIX for Dummies Questions & Answers

Escaping backslash

I have a variable containt something like this, c:\mask\mask. How can I escape "\" in the values? I want the value as it it. (9 Replies)
Discussion started by: swmk
9 Replies

10. Shell Programming and Scripting

Escaping '*' in Bash

I have the following situation ============ export DirectoryName=/tmp/xyz if ; then some_new_env=$DirectoryName"/*" ======================= I tried all the ways of escaping the '*', but still the shell seems to expand the '*' character. I want some_new_env to contain "/tmp/xyz/*" ... (7 Replies)
Discussion started by: rkshukla14
7 Replies
Login or Register to Ask a Question