¿Cuál es tu versión sed? Pruebo con GNU sed version 4.2.1y no funciona.
cuonglm
2
Parece que falta una barra invertida al final de la primera línea, ¿después de la barra?
Volker Siegel
6
Otro aspecto:
¿Cuán mantenibles son los [long]elementos anteriores?
Cuanto más cortas y distintas sean las cláusulas, más fácil será cambiarlas y mejorarlas a medida que pase el tiempo y los hechos (externos) cambien en torno a la función que proporcionan.
/xmodificador para la sustitución.Respuestas:
Puede guardar una cadena larga en variables bash, luego usar en el
sedcomando:Si puede usar
perl, puede romper el patrón largo con elxmodificador:fuente
sed "s/$string/$replace/" file.txtestá bien.replace=.La división en varias líneas con barra invertida funciona si las nuevas líneas no están sangradas.
Probado en Cygwin con GNU sed 4.2.2
fuente
GNU sed version 4.2.1y no funciona.Otro aspecto:
¿Cuán mantenibles son los
[long]elementos anteriores?Cuanto más cortas y distintas sean las cláusulas, más fácil será cambiarlas y mejorarlas a medida que pase el tiempo y los hechos (externos) cambien en torno a la función que proporcionan.
p.ej
... podría ser algo por lo que luchar y preferir.
fuente
También puedes dividir eso de esta manera:
O tal vez como:
O con un heredoc:
fuente