Replacing text with apostrophe text via sed in applescript

Posted by bob stinton on Stack Overflow See other posts from Stack Overflow or by bob stinton
Published on 2012-10-07T20:51:05Z Indexed on 2012/10/08 3:37 UTC
Read the original article Hit count: 189

Filed under:
|
|

I have an applescript to find and replace a number of strings. I ran in the problem of having a replacement string which contained & some time ago, but could get around it by putting \& in the replacement property list. However an apostrophe seems to be far more annoying.

Using a single apostrophe just gets ignored (replacement doesn't contain it), using \' gives a syntax error (Expected “"” but found unknown token.) and using \' gets ignored again. (You can keep doing that btw, even number gets ignored uneven gets syntax error)

I tried replacing the apostrophe in the actual sed command with double quotes (sed "s…" instead of sed 's…'), which works in the command line, but gives a syntax error in the script (Expected end of line, etc. but found identifier.)

The single quotes mess with the shell, the double quotes with applescript.

I also tried '\'' as was suggested here and '"'"' from here.

Basic script to get the type of errors:

set findList to "Thats.nice"
set replaceList to "That's nice"
set fileName to "Thats.nice.whatever"
set resultFile to do shell script "echo " & fileName & " | sed 's/" & findList & "/" & replaceList & " /'"

© Stack Overflow or respective owner

Related posts about sed

Related posts about applescript