Primeiro, verifique se você tem um backup antes de tentar isso.
Seus exemplos, felizmente, não têm espaços em oldname e newnames, e nenhuma menção a subdiretórios (todos no mesmo diretório), portanto, se todas as linhas da sua lista tiverem essa aparência
- tem
rename_rules.txtno mesmo diretório que suas imagens - cd neste diretório
-
executar:
eval "$(sed 's/^/mv /g' rename_rules.txt )"- em que
rename_rules.txtcontém apenas pares deoldname newnameem cada linha -
sedé usado para converter seurename_rulesemmv oldname newname -
evalé então usado para executá-lo, assim o arquivo é renomeado
- em que
aviso de isenção: nenhuma validação ou verificação de arquivo está embutida neste simples script curto, e é por isso que eu disse que a primeira coisa a fazer é ter um backup caso um dos seus pares de renomear oldname newname aconteça conter um erro, então você pode pelo menos começar de novo a partir do backup