Alteração de única linha com SED ou AWK. [RESOLVIDO]

1. Alteração de única linha com SED ou AWK. [RESOLVIDO]

Charles lourenço
ocabal

(usa openSUSE)

Enviado em 15/03/2011 - 12:31h

Tenho um arquivo texto com as seguintes ocorrencias:


SERVIDOR=/notes
SERVICO=/notes
PATH=/local/notesdata
...
Meu problema é que quando o usuário escolhe o endereço SERVIDOR=/notes e altera seu conteúdo, o endereço SERVICO=/notes também é alterado, coisa que eu não queria.
estou usando a seguinte linha com SED:
SED -i "s/notes/$valorNovo/" arquivo.conf
O valor é alterado, mas o inconveniente é que ele atera td que tem notes. Queria somente alterar a linha SERVIDOR.
Abraços


  


2. Tente:

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 15/03/2011 - 13:42h

sed -i 's/SERVIDOR=\/notes/SERVIDOR=NOVO_VALOR' arquivo.conf


3. Re: Alteração de única linha com SED ou AWK. [RESOLVIDO]

Charles lourenço
ocabal

(usa openSUSE)

Enviado em 16/03/2011 - 12:25h

Acho q me expressei mal...
esse valor q está no arquivo .conf, eu não sei exatamente o valor dele. só sei o que está até antes do "=", que é o nome da variável, porém depois do "=" o usuário pode mudar quando quiser.
Bom, o problema é que testei sua resposta anterior e ele continua alterando todos os valores. gostaria de substituir somente o que está após o "=", mas lembre-se hj pode ser "/notes", porem o usuário pode alterar para "/home" e aí não conseguirei pegar com um endereço fixo. Tentei o endereço somente com o nome da constante (SERVIDOR), mas aí ele altera a constante e não o valor depois do "=" .
...
SERVIDOR=/notes
SERVICO=/notes
PATH=/local/notesdata


4. Re: Alteração de única linha com SED ou AWK. [RESOLVIDO]

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 16/03/2011 - 14:15h

Você quer pegar somente as linhas que possuam a string 'SERVIDOR=xxx' e alterar o valor após o '=', porém esses valores não são fixos, podem ser:

SERVIDOR=abc
SERVIDOR=123
SERVIDOR=xyz
...

É isso não é? Se for você pode tentar o seguinte:

sed -i 's/SERVIDOR=.*/SERVIDOR=NOVO_VALOR' arquivo.conf



  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts