Se você tiver zsh
shell, poderá fazer algo como abaixo.
zmv '([0-9])-([0-9]##).(jpg)' '$1-${(l:3::0:)2}.$3'
Teste
touch 0-1.jpg
touch 0-23.jpg
touch 0-345.jpg
touch 0-6.jpg
touch 0-05.jpg
Altere o shell para zsh
e, se zmv
não estiver carregado, você poderá fazer autoload zmv
.
Agora, você pode adicionar -n
flag ao comando zmv
para ver o que acontecerá se você executar o comando zmv
. Estou executando o comando como
zmv -n '([0-9])-([0-9]##).(jpg)' '$1-${(l:3::0:)2}.$3'
A saída é
zmv -n '([0-9])-([0-9]##).(jpg)' '$1-${(l:3::0:)2}.$3'
mv -- 0-05.jpg 0-005.jpg
mv -- 0-1.jpg 0-001.jpg
mv -- 0-23.jpg 0-023.jpg
mv -- 0-6.jpg 0-006.jpg
Se você estiver satisfeito com o renomeado dos nomes dos arquivos, poderá remover o sinalizador -n
.
Referências
Obrigado ao usuário Gnouc por esclarecer minha dúvida sobre essa questão que eu havia postado como outra pergunta para obter essa solução e o link para a resposta do Gnouc é isso .