tipos nomina matriculas fisiologia definicion callejeros bogota sed

nomina - sed linux



sed:-e expresión#1, char 23: opción desconocida para `s '' (3)

Escape sus barras en el patrón o use un delimitador diferente como este:

sed -i.bak / -e s%"socketPath:''https://localhost:9091''"%"socketPath:''/socket''"%g / $WEB_CONF

Esta pregunta ya tiene una respuesta aquí:

Estoy tratando de usar sed para actualizar un archivo de configuración usando un script bash. Tengo un comando sed similar justo encima de este en el script que funciona bien. Parece que no puedo entender por qué esto se está rompiendo:

sed -i.bak / -e s/"socketPath:''https://localhost:9091''"/"socketPath:''/socket''"/g / $WEB_CONF

¿Algunas ideas?


Estoy confundido mirando los delimitadores que has usado para que no puedas culpar a sed por tontos. Cuando su conjunto de datos tiene / en ellos, a menudo se recomienda utilizar un delimitador diferente como # o _ (sí, sed admite varios delimitadores).

Además, su cita parece un poco apagada. La sintaxis debería ser:

sed -i.bak ''s#substitute#replacement#g'' "$WEB_CONF"

Si su sustituto y / o reemplazo tiene variables, use " lugar '' que le permitirá interpolar.


Las comillas y las comillas dobles están causando problemas. Los está usando a la vista de las barras en la cadena. En sed puedes usar otro delimitador, como un #.

sed -e ''s#socketPath:https://localhost:9091#socketPath:/socket#g'' / $WEB_CONF