Renomeia os arquivos para inserir _ entre as palavras StudlyCapsified

1

Eu tenho uma biblioteca de música onde os nomes dos arquivos são como 05WithoutWallsSpanishMixChillDeLucia.mp3 (sem espaço entre as palavras, MAS existe uma letra maiúscula no início de cada palavra).

Como eu detecto este formulário de string e insiro um _ entre cada caractere minúsculo e maiúsculo para ter este formulário: 05_Without_Walls_Spanish_Mix_Chill_De_Lucia.mp3 ?

    
por Jonas 20.12.2015 / 14:57

1 resposta

3

Com prename (que pode ser rename em alguns sistemas)

prename -vn -- 's/(?=[[:upper:]])/_/g' *.mp3

substituirá um sublinhado antes de cada caractere maiúsculo em todos os arquivos no diretório atual que tenha o sufixo .mp3

A opção -n fornece uma execução a seco: ela não modifica nomes de arquivos, a menos que você remova o n

    
por 20.12.2015 / 15:14