CLI AI

Renomear centenas de arquivos: do laço `for` ao linguajar comum

2026-02-01

Renomeação em massa é o tipo de coisa que vive eternamente numa aba do Stack Overflow. A shell tem meia dúzia de caminhos — mv num for, rename, prename, mmv, find -exec — todos com diferenças minúsculas e enlouquecedoras entre distros.

1. Adicionar prefixo de data

clai
$ clai adicione o prefixo da data de hoje em todos os .jpg→ for f in *.jpg; do mv -- "$f" "$(date +%Y-%m-%d)_$f"; done2026-04-27_DSC_0001.jpg2026-04-27_DSC_0002.jpg

O -- "$f" faz trabalho real — impede o mv de interpretar nomes começando com hífen como flags. Fácil de esquecer ao escrever o laço.

2. Trocar extensões

clai
$ clai troque .jpeg por .jpg em todos os arquivos desta pasta→ for f in *.jpeg; do mv -- "$f" "${f%.jpeg}.jpg"; done

Expansão de parâmetro pura, sem ferramentas externas. Funciona igual no Linux e macOS — o que rename não faz.

3. Normalizar espaços

clai
$ clai substitua espaços por sublinhados em todos os nomes aqui→ for f in *\ *; do mv -- "$f" "${f// /_}"; donemy report.pdf -> my_report.pdfproject notes 2026.txt -> project_notes_2026.txt

O glob *\ * só casa com arquivos contendo espaço, então o laço nem roda se não há o que fazer. O CliAI costuma adicionar essas pequenas proteções.

Quando o clai ganha do one-liner

Para qualquer coisa além desses padrões — conversão de caixa, captura regex, renomeação recursiva — peça em palavras e deixe o modelo montar o find -exec rename 's/.../...' '{}' + ou mmv certo. Você vai ler o resultado de qualquer jeito; o ciclo inspect-then-run é a rede.

Veja também