Script "massreplace"

0 views
Skip to first unread message

Riceman

unread,
Nov 3, 2007, 7:06:08 PM11/3/07
to Equipe Clica-Aí
Adicionei (e atualizei hoje) na nossa lista de arquivos um pequeno
script (simples, porém útil) para fazer substituição de textos dentro
de arquivos em massa. Ele é baseado no "sed". Eu o utilizei para
alterar a definição das fontes em todos os formulários de Tahoma para
Bitstream Vera Sans em massa, sem precisar fazer este trabalho caixa
por caixa no Gambas.

Para utilizá-lo basta executá-lo dentro da pasta onde estão os
arquivos a serem editados e informar:

1) O tipo de arquivo a ser editado. Por exemplo: *form ou Form*.form.
Pode ser qualquer expressão que você digitaria em um "ls" para
encontrar arquivos.

2) O texto a ser encontrado. Todas as ocorrências deste texto dentro
dos arquivos selecionados serão substituídos.

3) O texto a inserir. Este é o texto que irá substituir o "texto a
procurar" (definido no item 2)

E o script vai fazer o resto. Mas CUIDADO! ele irá substituir os
arquivos originais sem pedir confirmação.

Era isso, sintam-se livres para se beneficiar dele ou alterar da forma
que acharem conveniente dentro da GPL v2.

Um abraço,

Riceman

passa...@gmail.com

unread,
Nov 3, 2007, 9:37:21 PM11/3/07
to Equipe Clica-Aí

Realmente é muito útil! Depois vou testá-lo e ver como funciona.
valew!

Riceman

unread,
Nov 6, 2007, 2:32:26 AM11/6/07
to Equipe Clica-Aí
Obrigado,

Fiz uma atualização de segurança, agora ele pergunta se deseja
sobrescrever os arquivos originais ou não. A questão é que fiz uma
cagada... coloquei uma "/" no texto a inserir e deu erro no sed, logo
os arquivos não foram criados e ele sobrescreveu todos com
"vazio" (com o próximo comando - o "mv"). Minha sorte é que eu nunca
confio nos meus programas que mexem em arquivos de primeira, assim
sempre faço um backup das pastas que vou mexer com ele (por se
acaso...).

Então reforço, cuidado!, façam uma cópia da pasta antes ou mande não
sobrescrever se não tiver certeza que vai funcionar. Acredito que o
único problema é com caracteres especiais, como a "/", por exemplo,
que também é um elemento do sed.

Abraço,

Riceman

Airton Santana

unread,
Nov 6, 2007, 9:14:04 AM11/6/07
to equipe-...@googlegroups.com
Hum....bom avisar! Aliás em programação sempre é bom fazer backups
periódicos eu pode-se perder até dias de trabalho...valew pelo
toque..apesara de eu ainda não tê-lo testado.


Em 06/11/07, Riceman<andrerf...@hotmail.com> escreveu:

Reply all
Reply to author
Forward
0 new messages