Substituir uma string por outra em um monte de arquivos no Linux

3 respostas
Luca

Olá

Preciso substituir uma string por outra em um monte de arquivos. Trata-se de um endereço de e-mail:

Preciso de um comando no linux que faça a troca de [email removido] por [email removido]. Eu sei que dá para fazer isto e até já fiz certa vez mas no momento estou em meio de um processo urgente e peço ajuda a um dos amigos que tenha a solução na ponta da língua.

[]s
Luca

3 Respostas

T

É alguma coisa como

for i in *.java 
do
sed -e 's/[email removido]/[email removido]/g'  < $i > tmp/$i
done

?
Favor testar a expressão regular. Não sei se é isso mesmo que você precisa…
Dependendo do que realmente você quer, precisa de um script Perl mesmo.

Luca

Olá

Caraca, funcionou. Thingol, mil obrigados!

[]s
Luca

T

Pois é, uso sed até no Windows (tive a pachorra de compilar o fonte do sed para funcionar no Windows e ser independente do cygwin, de que particularmente não gosto).

Por isso é que já chutei isso.
Se fosse awk, ou perl, eu não sabia fazer sem ter de consultar o manual… Aí não ia ser rápido como você precisava.

(Só que para fazer processamento decente tive de usar o perl mesmo; uma vez tive a idéia de pegar aquelas 3 mil e poucos RFCs ( http://www.rfc-editor.org ) e criar um HTMLHelp deles (sabe como que é, não tinha o Personal Google Search naquela época). Para passar texto para HTML e incluir alguns HREFs, usei um monte de scripts PERL. Não deu pra usar sed…)

Criado 3 de fevereiro de 2005
Ultima resposta 3 de fev. de 2005
Respostas 3
Participantes 2