Saturday, 15 August 2015

how to replace a \' with '' using sed -


I have this test.sql file:

  'here' and ' You want to change 'Other' for  

and \ ' (avoiding a quote) ' ' (2 singles) With quotes) for postgres and leave other single quotes alone. How would I do this. I have tried:

  mn march 16 $ sed -i.bak s / \ '/' '/ g test.sql  

but it's out All single quotes take

Your enemy shuttle is cited in this. The string is

  s / \ '/' '/ g  

before giving it to SAL. For shell, '' is an empty string, and suppresses this particular meaning of single citations (so that the quote is a real single quote character). What is seen after processing

  s / '// g  

... which removes all single quotes.

There are several ways to work around the problem; One of them is

  sed -i.bak "s / \\\\ '/' '/ g" test.sql  

Double inside - Small shell string, backslash need to be avoided (exceptions exist). This means that the translation of "s / \\\\ '/' '/ g" in the shell command as s / \\' / '' / g Logic is SED In Sam Rigax, backslash also needs to run, so it's really what we wanted to do: all the examples of \ ' would be replaced by ' ' .


No comments:

Post a Comment