![Renomeie os nomes dos arquivos mp3 para um padrão](https://rvso.com/image/36023/Renomeie%20os%20nomes%20dos%20arquivos%20mp3%20para%20um%20padr%C3%A3o.png)
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//g
mas 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 -n
se estiver satisfeito.
Responder2
Tente isto:
rename -n 's/_album1-0*/-song-/' /A/B/C/D/E/F/filename_album1-003.mp3
(remova -n
a chave se seus testes estiverem OK)
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 Debian
derivada como Ubuntu
:
$ sudo update-alternatives --set rename /path/to/rename
(substitua /path/to/rename
pelo caminho do seu perl's rename
comando.
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.mp3
e 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