Esta resposta do Alex B no Stack Overflow ajudará você a renomear arquivos e subpastas em um diretório.
Consiste em usar os comandos find
e rename
Linux. Gostaria apenas de acrescentar que o comando fornecido no link acima irá modificar os nomes dos diretórios também. Caso você queira apenas alterar nomes de arquivos, é necessário alterar a opção -depth
com a próxima: -type f
.
Outra expressão regular dada ao comando rename
pode ser a seguinte, que eu acho que é mais fácil de entender.
find my_root_dir -type f -execdir rename 'y/A-Z/a-z/' {} \;
Lembre-se de que existe um espaço em branco necessário entre a expressão regular do comando rename
e as chaves, e outra entre elas e o caractere de término do comando \;
Lembre-se também que ele renomeará todos os arquivos não apenas no diretório em que você executar o comando (o diretório my_root_dir
), mas também em todos os arquivos em cada subpasta contida neste. Você pode usar a opção -maxdepth 0
com o comando find
para forçá-lo a aplicar somente os testes e ações aos próprios pontos iniciais.