Você parece estar dizendo
que você deseja substituir a string que aparece após o =
,
não importa o que seja -
por exemplo , nos dados da amostra,
você deseja substituir [email protected]
.
Mas você está dizendo que, não importa a string após o =
,
você deseja substituí-lo por [email protected]
-
aparentemente você quer isso codificado.
Existem algumas variações sobre como fazer isso.
O mais simples é
sed 's/RESOURCE=.*/[email protected]/'
qual (como todos os comandos abaixo)
usa o fato de que .*
significa “corresponde ao que está lá”.
Se você não quiser digitar RESOURCE=
duas vezes, poderá encurtar o texto acima para
sed 's/\(RESOURCE=\).*/[email protected]/'
em que \(
… \)
marca uma parte da cadeia de pesquisa como um grupo
(você pode ter até nove grupos) e
significa substituir pelo primeiro grupo.
Os comandos acima encontrarão e substituirão RESOURCE=
onde quer que apareça na linha.
Então, por exemplo, a entrada
# Lakshminarayana wants to change all occurrences of "RESOURCE=".
[email protected]
[email protected]
[email protected]
FOX RESOURCE=The quick brown fox
# Comment: Originally line 2 said [email protected]
seria alterado para
# Lakshminarayana wants to change all occurrences of "[email protected]
[email protected]
[email protected]
[email protected]
FOX [email protected]
# Comment: Originally line 2 said [email protected]
Se você quiser corresponder apenas quando RESOURCE=
aparecer no início de uma linha,
use ^
:
sed 's/^RESOURCE=.*/[email protected]/'
ou
sed 's/^\(RESOURCE=\).*/[email protected]/'
Se você deseja substituir apenas o valor do recurso,
e não todo o resto da linha - por exemplo,
[email protected] [email protected]
para
[email protected] [email protected]
isso também pode ser feito.
Edite sua pergunta para dizer exatamente o que você quer
com explicações completas e claras e exemplos.
OK, escolha um dos comandos s
acima.
Agora, se você quiser editar seu arquivo no lugar (como você indicou), faça
sed -i { s command } { yourfile }
Se você quiser produzir um novo arquivo, faça
sed { s command } { oldfile } > { newfile }
Não digite os {
e }
; eles estão lá apenas para demarcação.