I want to replace the double quotes in the sed command in the following example with single quotes.
set new_string to do shell script "echo " & quoted form of list_string & " | sed -e 's/$/\"/' -e 's/^/\"/' -e 's/^/+/'"
However if I replace the double quotes with single quotes I get an error, is there a way to escape single quotes?
I’m no sed ninja, so any hints on how to go about this is highly appreciated.
fYou had a quotation fault. Just to replace double quotes for single quotes, this is enough
Explaining ‘s/\”/’\”/g’
The \\ and \” is needed in the applescript environment and will be in the shell just \ and “. So what’s entering the shell is ‘s/”/’\”/g’. Then what’s with all the quotes? A very common mistake is thinking that quotations on the command line works the same as in programming. A single quote turns substitution on or off. So the first single quote turns substitution off which mean the next characters will be interpreted as text and has no special meanings (including the escape character). So to escape a single quote we’ll need to turn the substitution on, then we can escape a single quote and turn the substitution off again.