On Wed, 27 Feb 2002 15:21:51 -0300
Pablo Lorenzzoni <spectra@debian.org> wrote:
Olah!
bash$ cat arquivo_fonte | sed 's/era_isso/virou_isso/g' >
arquivo_destino
sim... só que tem de fazer isso arquivo por arquivo... eu fiz um pequeno
script que automatiza iss (vivo precisando disso e resolvi automatizar =P):
---------------------------------------------------
[kov]@[couve] $ cat scripts/change-all.sh
#!/bin/sh
for i in *; do
cat "$i" | sed s/"$1"/"$2"/g > "$i.new"
cp "$i"{,.old}
mv "$i"{.new,}
done
---------------------------------------------------
usa assim: entra num diretório e faz:
change-all.sh 'koko' 'kovkov'
ele vai substituir toda palavra 'koko' por 'kovkov' e vai salvar os
arquivos anteriores em arquivo.old para o caso de algo sair errado
e você querer voltar =P
dá pra dar uma melhorada nesse script, mas ainda não tive necessidade
nem vontade (por exemplo, ele vai tentar dar cat nos diretórios que
achar pelo caminho e não vai processar diretórios recursivamente...
dá pra fazer em 2 minutos se precisar)
[]s!