Saltar al contenido

¿Cómo escapar de una comilla simple en sed?

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

Reseñas y calificaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *