Estou tentando substituir as linhas que começam com '#SERVICE' e terminam em '///' por '#SERVICE 1:64:0:0:0:0:0:0:0:0:0:' Por exemplo, este linha: '#SERVICE blablabla ///' Eu tentei isso, mas não funciona:
sed -i 's;#SERVICE*///;#SERVICE 1:64:0:0:0:0:0:0:0:0:;g'
Sua expressão regular está errada.
E*
corresponde a zero ou mais repetições deE
. Para dizerE
seguido por qualquer coisa, você desejaE.*
(onde.
é um metacaractere regex que corresponde a qualquer caractere, exceto nova linha).Este é um FAQ muito comum. Consulte, por exemplo , https://stackoverflow.com/questions/23702202/what-are-the-differences-between-glob-style-pattern-and-regular-expression e mais amplamente a página de informações da tag Stack Overflow
regex
.