Qual é a sua versão sed? Eu testei com GNU sed version 4.2.1e não funciona.
cuonglm
2
Parece que falta uma barra invertida no final da primeira linha, após a barra?
Volker Siegel
6
Outro aspecto:
Qual é a manutenção dos [long]itens acima?
Quanto mais curtas e distintas você puder manter as cláusulas, mais fácil elas serão alteradas e aprimoradas à medida que o tempo passa e os fatos (externos externos) mudam em torno da função que elas fornecem.
/x
modificador para substituição.Respostas:
Você pode salvar uma string longa no bash de variáveis e usar no
sed
comando:Se você pode usar
perl
, pode quebrar um padrão longo com ox
modificador:fonte
sed "s/$string/$replace/" file.txt
está bem.replace=
.A divisão em várias linhas com barra invertida funciona se novas linhas não forem recuadas.
Testado em Cygwin com GNU sed 4.2.2
fonte
GNU sed version 4.2.1
e não funciona.Outro aspecto:
Qual é a manutenção dos
[long]
itens acima?Quanto mais curtas e distintas você puder manter as cláusulas, mais fácil elas serão alteradas e aprimoradas à medida que o tempo passa e os fatos (externos externos) mudam em torno da função que elas fornecem.
por exemplo
... pode ser algo pelo qual lutar e preferir.
fonte
Você também pode dividir dessa maneira:
Ou talvez como:
Ou com um heredoc:
fonte