Sé que esto se ha preguntado antes, pero tengo problemas para entender las respuestas que he encontrado. Básicamente quiero usar
sed -i 's/string//some/directory/g' file.txt
y no puedo encontrar una respuesta directa sobre cómo hacer /some/directory
no romper el sed
sintaxis.
Respuesta aceptada:
sed
permite varios delimitadores de sintaxis, /
siendo solo el más utilizado.
También puedes decir
sed -i 's,<string>,<some/directory>,g' file.txt
donde el ,
ahora tiene la función que normalmente realiza el /
, liberando así a este último de su especial significado.
Tenga en cuenta, sin embargo (como lo señaló @Jeff Schaller), que ahora el ,
no debe aparecer en el nombre del archivo o directorio, y ¡es un carácter válido para los nombres de archivo! Esta respuesta brinda una buena descripción general sobre cómo proceder al aplicar sed
a una cadena con caracteres especiales.