On Wed, 27 Feb 2002 15:21:51 -0300
Pablo Lorenzzoni <[EMAIL PROTECTED]> 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):

---------------------------------------------------
[EMAIL PROTECTED] $ 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!

-- 
[EMAIL PROTECTED]: Gustavo Noronha <http://www.metainfo.org/kov>
Debian: <http://www.debian.org> * <http://debian-br.cipsga.org.br>

Responder a