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 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 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 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
- Encontrar arquivos grandes para a metade selecionar.
- Do one-liner ao script — quando um padrão merece um
.shno repo.