Expressão regular: referências de volta
-
24-09-2019 - |
Pergunta
sed 's/^\(\h*\)\(.*\)$/\1<!-- \2 -->/' web.xml
Eu acho que isso deve levar este XML:
<a>
<d>
bla
</d>
</a>
E transformá -lo em:
<!-- <a> -->
<!-- <d> -->
<!-- bla -->
<!-- </d> -->
<!-- </a> -->
Mas o que está fazendo é o seguinte:
<!-- <a> -->
<!-- <d> -->
<!-- bla -->
<!-- </d> -->
<!-- </a> -->
Solução
Usar [ \t]*
ao invés de \h*
, igual a:
sed 's/^\([ \t]*\)\(.*\)$/\1<!-- \2 -->/' web.xml
Aqui'Lista SA dos caracteres de fuga de sed (meta).
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow