Renomeando múltiplos arquivos simultaneamente no Linux
Hoje, no trabalho, precisava renomear uma grande quantidade de arquivos
de um mesmo diretório com uma regra bastante simples: queria que a
extensão de todos eles passasse de .wbm para .wbmp. Encontrei, sem
querer, o programa rename disponível no Ubuntu, e fui logo ler
seu manual (man rename).
Infelizmente o manual era minúsculo, com apenas 2 exemplos. Achei, inicialmente, tão confuso que não entendi que no primeiro exemplo se encontrava a solução para o meu problema. Como estava com pressa acabei renomeando os arquivos no braço, mas eis aqui a solução, após uma pequena busca no Google (veja o segundo comentário deste artigo):
rename 's/\.wbm/.wbmp/' *.wbm
Depois de ler essa dica comecei a entender melhor o sucinto manual…
O primeiro parâmetro passado ao comando deve ser uma expressão regular compatível com Perl na forma:
'modificador/trecho-do-nome-que-se-deseja-alterar/como-vai-ficar-esse-mesmo-trecho/'
O último parâmetro é o padrão de nome de arquivo ao qual as mudanças definidas no primeiro parâmetro se aplicam. Consulte a documentação do Perl (link no fim do artigo) para entender quais são os modificadores válidos e o que significam.
Não sou o mago das expressões regulares para poder dar outros exemplos úteis, por isso, se você quer realizar procedimentos um pouco mais complexos, recomendo a leitura da documentação do Perl para expressões regulares.

February 20th, 2008 às 11:02 pm
Aqui deu! Pretty cool!! =)
February 20th, 2008 às 11:06 pm
Sempre morro de raiva quando as extensões de imagens do Windows vêm em Maiusculas (.JPG, .PNG). É simplesmente horrível e quando puxo alguma de lá pra cá no Linux sempre sinto vontade de renomear tudo, mas uma a uma sem condições… Òtima dica.