fazer sed não reconhecer espaços [RESOLVIDO]

1. fazer sed não reconhecer espaços [RESOLVIDO]

gabriel
bielwas

(usa Debian)

Enviado em 07/04/2022 - 22:26h

Olá pessoal. O comando sed abaixo altera a palavra vencer para sucesso, se tudo estiver junto. Como fazer o sed não reconhecer os espaços e funcionar normalmente como se não tivesse espaço algum?

com espaço nao funciona
sed -i 's/\< vencer \>/ sucesso /g' arq.txt;
sem espaço funciona
sed -i 's/\<vencer\>/sucesso/g' arq.txt;

conteúdo do arq.txt
é lutando que se consegue vencer
é lutando que se consegue vencer
é lutando que se consegue vencer


  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 08/04/2022 - 19:11h

bielwas escreveu:
E se o código estiver com espaços assim
sed -i 's/  vencer  /  sucesso  /' arq.txt 

Como fazer funcionar ao teclar enter?
Ou seja fazer sed não reconhecer os espaços que tem entre vencer e sucesso?

Boa noite bielwas.
O que ocorre no comando acima, é que,
o sed está buscando pela palavra com espaço antes e depois.....
Como a palavra "vencer", está no fim da linha, não tem espaço após a mesma....
Para contornar, faça:
sed 's/ vencer \?/ sucesso /' arq.txt
\? = tem ou não espaço
---------------------------------------------
é lutando que se consegue sucesso
é lutando que se consegue sucesso
é lutando que se consegue sucesso
---------------------------------------------

______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/ | sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: fazer sed não reconhecer espaços [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 07/04/2022 - 23:21h


campeão ... se vc que apenas trocar uma palavra simples por outra simples é só fazer o simples .... heheheheh

sed -i 's/vencer/sucesso/' arq.txt 


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




4. Re: fazer sed não reconhecer espaços

gabriel
bielwas

(usa Debian)

Enviado em 07/04/2022 - 23:35h

Mauriciodez escreveu:
campeão ... se vc que apenas trocar uma palavra simples por outra simples é só fazer o simples .... heheheheh
sed -i 's/vencer/sucesso/' arq.txt 

E se o código estiver com espaços assim
sed -i 's/  vencer  /  sucesso  /' arq.txt 
Como fazer funcionar ao teclar enter?ou seja fazer sed não reconhecer os espaços que tem entre vencer e sucesso?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts