O que a ferramenta faz
- Alvo baseado em MIME: processa apenas arquivos cujo tipo MIME contém
text/
oujson
(ex.: HTML, CSS, JS, CSV, MD, XML, YAML, INI, JSON). - Busca e substituição precisa: padrões de texto simples ou regex, opção de sensibilidade a maiúsculas/minúsculas e correspondência de palavra inteira.
- Pré-visualização: veja exatamente quais arquivos e linhas serão alterados antes de salvar.
- Escopo seletivo: inclua/exclua caminhos, padrões glob e extensões de arquivos.
- Suporte a codificação: utf-8 por padrão com tratamento de BOM.
- Gravações seguras: backups opcionais e escrita atômica para minimizar riscos de corrupção.
- Relatório de alterações: resumo por arquivo com contagem de correspondências e substituições.
Casos de uso comuns
- Rebranding & atualização de texto: nomes de produtos, detalhes da empresa, textos legais.
- Migração de URL/domínio: substituir hosts legados, caminhos CDN, prefixos de ativos.
- Rotação de configs & segredos: trocar endpoints de API ou chaves em configs não binários.
- Refatorações de código: renomear módulos, classes CSS e flags de recursos.
- Preparação de localização: extrair ou normalizar strings fixas.
- Higienização de dados: corrigir nomes de propriedades JSON, cabeçalhos CSV ou erros de esquema.
Como funciona
- Escolha uma pasta raiz para análise.
- Defina seu padrão (texto simples ou regex) e o valor de substituição.
- Refine o escopo com globs de inclusão/exclusão e filtros de extensão.
- Execute uma pré-visualização para ver os arquivos correspondentes.
- Aplique as alterações com backups habilitados para fácil reversão.
- Revise o relatório com contagem, arquivos modificados e itens ignorados.
Por que usar filtragem MIME?
Arquivos binários frequentemente contêm sequências de bytes que parecem texto. A filtragem MIME limita as operações a formatos textuais, reduzindo falsos positivos e evitando corrupção em imagens, fontes, arquivos compactados e executáveis.
Boas práticas
- Faça backup ou use controle de versão antes de substituições em massa.
- Prefira limites de regex (ex.:
\b
) para evitar substituições parciais. - Defina um alvo restrito com globs como
**/*.js
oucontent/**/*.md
. - Teste em um subconjunto antes de aplicar a todo o projeto.
- Revise os diffs para confirmar que não houve alterações indesejadas.
Limitações
- Pula formatos binários por padrão; se um arquivo reportar um MIME não textual, não será modificado.
- Padrões regex muito amplos podem corresponder a mais do que o desejado — use pré-visualização e âncoras.
- Arquivos muito grandes podem exigir mais memória; divida ou reduza o escopo se necessário.
FAQ
- Quais arquivos são incluídos?
- Qualquer arquivo cujo tipo MIME contenha
text/
(ex.:text/html
,text/css
,text/markdown
) oujson
(ex.:application/json
). - Posso desfazer alterações?
- Sim. Ative backups para criar cópias
.bak
, ou use seu VCS para reverter alterações específicas. - As permissões ou timestamps dos arquivos mudam?
- As permissões são preservadas. Os timestamps são atualizados apenas nos arquivos modificados.
- Vai reescrever as quebras de linha?
- Preserva as quebras existentes (LF/CRLF), a menos que sua configuração exija outra política.
- Como evitar modificar variáveis dentro de blocos de código que não quero alterar?
- Restringa o escopo com globs de inclusão e use regex com âncoras/contexts para atingir apenas regiões seguras.