Estoy teniendo problemas para averiguar cómo utilizar sed
para buscar y reemplazar cadenas que contengan el carácter /
en un archivo de texto /etc/myconfig
.búsqueda de sed y las cuerdas que contiene reemplazar/
Por ejemplo, en mi archivo de texto existente, que tengo:
myparam /path/to/a argB=/path/to/B xo
y quiero que esto sustituye por:
myparam /path/to/c argB=/path/to/D xo
intenté hacer esto en bash:
line='myparam /path/to/a argB=/path/to/B xo'
line_new='myparam /path/to/c argB=/path/to/D xo'
sed -i 's/$line/$line_new/g' /etc/myconfig
Pero no pasa nada.
Intentando
grep -rn "$line" /etc/myconfig
me hace volver 'myparam /path/to/a argB=/path/to/B xo'
sin embargo.
¿Cuál es la forma correcta de expresar mi comando sed
para ejecutar esta búsqueda y reemplazar y manejar correctamente el comando /
? (Creo que el personaje /
en mis cadenas son las que me está dando el problema, ya que se utiliza un comando similar sed
para buscar y reemplazar otra línea en el archivo de texto sin problemas y que la línea no tiene un carácter /
.
Las reglas de sustitución y cita son realmente sobre bash en lugar de sed específicamente. Es posible que desee agregar bash como una etiqueta. – KarlM
bien. agregará 'bash' como una etiqueta. –