Su pregunta es un poco confusa ya que no hay me
en la cadena original para reemplazar. Sin embargo, creo que lo tengo. Permítanme parafrasear:
que tienen un comando sed
que se puede sustituir con éxito una comilla simple '
con la palabra me
. Quiero uno similar que pueda reemplazarlo con la secuencia de caracteres \'
.
Si ese es el caso (lo que desea es escapar comillas simples), puede utilizar:
pax$ echo "test ' this" | sed "s/'/\\\'/g"
test \' this
Mediante el uso de comillas dobles alrededor del comando sed
, se elimina la necesidad de preocuparse por comillas simples incrustadas . Usted hacer tienen que preocuparse de escapar a continuación, puesto que el depósito va a absorber un nivel de fugas de manera que sed
verá:
s/'/\'/g
que convertirá en '
\'
lo deseas.
Si desea una forma de escapar tanto individuales y comillas dobles con una sola sed
, es probablemente más fácil de proporcionar múltiples comandos para sed
para que pueda utilizar las comillas alternativos:
pax$ echo "Single '" 'and double "'
Single ' and double "
pax$ echo "Single '" 'and double "' | sed -e "s/'/\\\'/g" -e 's/"/\\"/g'
Single \' and double \"
Si yo' Si ha entendido mal sus requisitos, algunos ejemplos pueden ayudar.
Creo que se refería a un reemplazo posterior para su primera conversión. '[dod @ MBP-13 ~] echo" pruébame esto "| sed "s/me/\\\ '/" ' ' test \' this' –
@Dawn, en realidad creo que tiene sentido. OP sabe cómo hacerlo para obtener 'me', ahora quieren hacerlo para obtener' \ ''(y para comillas dobles también). Actualizado para (con suerte) responder eso. – paxdiablo
Gracias por mencionar que podría reemplazar las comillas simples externas por las comillas dobles, funcionó de maravilla para mí:) –