Substituir palavras e não sequência de caracteres com SED [RESOLVIDO]

1. Substituir palavras e não sequência de caracteres com SED [RESOLVIDO]

Luan Lucas
LuanLucas

(usa Debian)

Enviado em 12/02/2016 - 09:57h

Olá pessoal,
Estou com um pequeno problema ao usar o SED. Preciso substituir uma palavra por outra mas quando a sequência que eu quero substituir aparece em outras palavras do texto, esta também é substituida. Por exemplo: se eu quero trocar 'dia' por 'noite', os caracteres também são trocados em palavras como 'diagrama', 'adiar', 'sidrolandia', etc.
Para palavras sozinhas em uma linha eu uso sed 's/^dia$/noite/' e para palavras entre outras palavras ou no começo da linha eu uso sed 's/dia /noite /g'. Com esse espaço.
O problema ocorre quando eu tento trocar palavras no final da linha ou que contenha um caractere especial (como pontuação por exemplo). Para isso eu uso sed 's/ dia/noite/g' mas ai palavras como 'diagrama' viram 'noitegrama'.
Teria como fazer o SED identificar palavras ao invés de sequência de caracteres? Ou há outra maneira pra se fazer isso?



  


2. MELHOR RESPOSTA

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 12/02/2016 - 10:24h

Olá,

Use o \b.Assim:

sed 's/\bdia\b/noite/g' 


abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---

3. Re: Substituir palavras e não sequência de caracteres com SED [RESOLVIDO]

Luan Lucas
LuanLucas

(usa Debian)

Enviado em 12/02/2016 - 10:40h


Olá tonyhts
Funcionou perfeitamente! E o melhor, somente em uma linha.
Muito obrigado.


4. Re: Substituir palavras e não sequência de caracteres com SED [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 12/02/2016 - 10:46h

Que bom !

Não esqueça de marcar como resolvido.

abs

---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts