Nuestro grupo de redactores ha estado horas investigando para dar solución a tus búsquedas, te regalamos la soluciones así que nuestro objetivo es resultarte de gran apoyo.
Solución:
Cita sed
códigos con comillas dobles:
$ sed "s/ones/one's/"<<<"ones thing"
one's thing
No me gusta escapar de los códigos con cientos de barras invertidas, me duele la vista. Normalmente lo hago de esta manera:
$ sed 's/ones/onex27s/'<<<"ones thing"
one's thing
Un truco es usar shell string concatenación de cadenas adyacentes y escape de la cita incrustada usando escape de shell:
sed 's/ones/two'''s/' <<< 'ones thing'
two's thing
Hay 3 cadenas en la expresión sed, que luego el shell une:
sed 's/ones/two'
'
's/'
¡Espero que eso ayude a alguien más!
Simplemente use comillas dobles en el exterior del comando sed.
$ sed "s/ones/one's/" <<< 'ones thing'
one's thing
También funciona con archivos.
$ echo 'ones thing' > testfile
$ sed -i "s/ones/one's/" testfile
$ cat testfile
one's thing
si tienes solo y comillas dobles dentro del string, eso está bien también. Solo escapa de las comillas dobles.
Por ejemplo, este archivo contiene un string con comillas simples y dobles. Usaré sed para agregar una comilla simple y eliminar algunas comillas dobles.
$ cat testfile
"it's more than ones thing"
$ sed -i "s/"it's more than ones thing"/it's more than one's thing/" testfile
$ cat testfile
it's more than one's thing