Renomeie os nomes dos arquivos mp3 para um padrão

Renomeie os nomes dos arquivos mp3 para um padrão

Eu tenho uma lista de nomes semelhantes:

/A/B/C/D/E/F/filename_album1-003.mp3

é mais parecido com um álbum\d+

Eu gostaria de mudar para algo como

/A/B/C/D/E/F/filename_song-3.mp3

songé apenas uma string fixa.

Eu tentei algo como basename -s '.mp3'e então, sed -e /_album//gmas errou o número ` e não remove todos os 001 iniciais. Qual é uma boa maneira de fazer isso?

Responder1

Com zsh:

$ autoload zmv # best in ~/.zshrc
$ zmv -n '(**/)(*_)*-0#(<->.mp3)' '$1$2song-$3'
mv -- A/B/foo_bar-0002.mp3 A/B/foo_song-2.mp3

remova -nse estiver satisfeito.

Responder2

Tente isto:

rename -n 's/_album1-0*/-song-/' /A/B/C/D/E/F/filename_album1-003.mp3

(remova -na chave se seus testes estiverem OK)

aviso Existem outras ferramentas com o mesmo nome que podem ou não fazer isso, então tome cuidado.

Se você executar o seguinte comando ( GNU)

$ file "$(readlink -f "$(type -p rename)")"

e você tem um resultado como

.../rename: Perl script, ASCII text executable

e não contendo:

ELF

então esta parece ser a ferramenta certa =)

Caso contrário, para torná-lo o padrão (geralmente já é o caso) em uma Debianderivada como Ubuntu:

$ sudo update-alternatives --set rename /path/to/rename

(substitua /path/to/renamepelo caminho do seu perl's renamecomando.


Se você não possui este comando, procure em seu gerenciador de pacotes para instalá-lo oufaça isso manualmente


Por último, mas não menos importante, esta ferramenta foi originalmente escrita por Larry Wall, o pai do Perl.

Responder3

Não vejo de onde você tirou o nome da nova "música", você está começando filename_album1-003.mp3e mudando para filename_song-3.mp3...

Se você estiver obtendo o nome da música da tag ID3, seria mais fácil usar um programa que possa renomear mp3s a partir das informações da tag. Um como easytag, mp3rename, lltag... existem vários nos repositórios Debian e outros

informação relacionada