Trocar parte de uma string (SED) [RESOLVIDO]

1. Trocar parte de uma string (SED) [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 27/04/2017 - 22:50h

Pessoas ... como alterar parte de uma string . tipo
"isso-nunca-vai-dar-certo" por "isso-nunca-vai-dar-errado" ... mas não rola de setar toda a string pois tenho uma variável q me retorna "certo" e a palavra "certo" faz parte de varias strings.


  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 28/04/2017 - 12:16h

Mauriciodez escreveu:

Vc's não me entenderam .. a parte do "isso-nunca-vai-dar" só foi um exemplo, pode ser qualquer coisa ... eu quero trocar a palavra "certo" pela palavra errada onde quer q ela esteja .. não importa se ela vai estar só ou acompanhada de outra parte

EX
isso-nunca-vai-dar-certo --> isso-nunca-vai-dar-errado
isso nunca vai dar certo --> isso nunca vai dar errado
certo-isso-nunca-vai-dar --> errado-isso-nunca-vai-dar
certo isso nunca vai dar --> errado isso nunca vai dar
6465465465134679certo448797987 --> 6465465465134679errado448797987

eu preciso de algo como "sed 's/*certo*/errado/g'
_______________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

Boa tarde Mauricio.
Com base no seu exemplo:
cat texto.txt
isso-nunca-vai-dar-certo
isso nunca vai dar certo
certo-isso-nunca-vai-dar
certo isso nunca vai dar

sed 's/certo/errado/' texto.txt
isso-nunca-vai-dar-errado
isso nunca vai dar errado
errado-isso-nunca-vai-dar
errado isso nunca vai dar

Para alterar no arquivo . . .
sed -i 's/certo/errado/' texto.txt

att.:
marcelo oliver





3. Re: Trocar parte de uma string (SED)

José da Silva
zenull

(usa Outra)

Enviado em 28/04/2017 - 02:59h

echo 'isso-nunca-vai-dar-certo' | sed '/isso-nunca-vai-dar/s/certo/errado/g'

http://thobias.org/doc/sosed.html


4. Re: Trocar parte de uma string (SED) [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 28/04/2017 - 11:43h

Vc's não me entenderam .. a parte do "isso-nunca-vai-dar" só foi um exemplo, pode ser qualquer coisa ... eu quero trocar a palavra "certo" pela palavra errada onde quer q ela esteja .. não importa se ela vai estar só ou acompanhada de outra parte

EX
isso-nunca-vai-dar-certo --> isso-nunca-vai-dar-errado
isso nunca vai dar certo --> isso nunca vai dar errado
certo-isso-nunca-vai-dar --> errado-isso-nunca-vai-dar
certo isso nunca vai dar --> errado isso nunca vai dar
6465465465134679certo448797987 --> 6465465465134679errado448797987

eu preciso de algo como "sed 's/*certo*/errado/g'
_______________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


5. Re: Trocar parte de uma string (SED) [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 28/04/2017 - 12:52h

msoliver escreveu:
Para alterar no arquivo . . .
sed -i 's/certo/errado/' texto.txt


a nem velho ... juro pra vc q foi a primeira coisa que tentei foi esse comando e só tinha alterado as strings "soltas" ( foi por isso até q abri o tópico ).. agora fiz essa porcaria aqui e deu certo.

mauricio@debian:~$ cat txt
isso-nunca-vai-dar-certo
4644.6787certo4467464654354sknohos
certo
mauricio@debian:~$ sed -i 's/certo/errado/g' txt
mauricio@debian:~$ cat txt
isso-nunca-vai-dar-errado
4644.6787errado4467464654354sknohos
errado
mauricio@debian:~$

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






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts