with special characters another sed replace

special - sed replace word



¿Cómo usar diferentes delimitadores para el comando de sustitución sed? (1)

Estoy escribiendo un script de shell para crear algunos archivos de configuración. Tengo que reemplazar algunos patrones en los archivos y un patrón debería reemplazarse por una ruta.

Entonces mi pregunta es: ¿hay alguna manera de reemplazar mi webpath de marcador de posición con una ruta sin establecer barras diagonales delante de las barras diagonales?

Tal vez hay otra herramienta disponible para hacer esto?


Puede usar un delimitador de expresiones regulares alternativo como un patrón de búsqueda al retrocederlo:

sed ''/,some/path,d''

Y solo úsalo como está para el comando s :

sed ''s,some/path,other/path,''

Sin embargo, es probable que desee proteger otros metacaracteres; este es un buen lugar para usar Perl y quotemeta , o equivalentes en otros lenguajes de scripting.

Del man sed :

/ regexp /
Coincidencia de líneas que coinciden con la expresión regular expresión regular.

/c regexp c
Coincidencia de líneas que coinciden con la expresión regular expresión regular. El c puede ser cualquier caracter que no sea barra diagonal inversa o nueva línea.

s/regular expression/replacement/flags
Sustituya la cadena de reemplazo por la primera instancia de la expresión regular en el espacio del patrón. Cualquier carácter que no sea barra diagonal inversa o línea nueva se puede utilizar en lugar de una barra inclinada para delimitar el RE y el reemplazo. Dentro del RE y el reemplazo, el propio delimitador de RE puede usarse como un carácter literal si está precedido por una barra diagonal inversa.