Substituir o nome de vários arquivos - shell script

Iniciado por loothers, 03 de Março de 2012, 22:03

tópico anterior - próximo tópico

loothers

Olá ! Sou um usuário iniciante de Linux/Shell Script e tenho a seguinte dúvida:

Preciso renomear vários arquivos de MP3 da minha coleção no seguinte padrão:

De: (existem dezenas de arquivos nesse padrão):
(01) Good Times Bad Times.mp3

Para:

Led Zeppelin - I - 01 - Good Times Bad Times.mp3

Minha dúvida: Como substiuir o início de cada arquivo (Exemplo: '(01) ', como no exemplo acima)
com a string 'Led Zeppelin - I - 01 - ' ?

Estou estudando métodos como awk, find, rename, if, mas ainda não consegui.
Não preciso de nada mastigado, logicamente, apenas uma direção a seguir.

Agradeço qualquer sugestão.

Obrigado !  ;D

irtigor

Depende muito dos detalhes, por exemplo, deve ser incluído "Led Zeppelin" no inicio de todos os arquivos? Se não, da onde vem essa informação (tag id3, nome do diretório...)? Dê uma olha especial em extended glob e expansão/substituição de parâmetros.

Recomendo:
http://mywiki.wooledge.org/EnglishFrontPage
http://wiki.bash-hackers.org/start

loothers

Sim, minha idéia é deixar todos os arquivos com o mesmo padrão:

Nome da banda - nome do álbum - # da faixa - nome da música

Vou verificar os links que vc recomendou, obrigado.

8)

fpissarra

Junto com o Ubuntu existe um script em python que faz isso. Chama-se 'rename' e você passa dois parâmetros: Uma regular expression e um nome de arquivo (ou wildcards com * ou ?, por exemplo):

rename 's/^\(.*\)/Led Zeppeling I - $1/' *.mp3

Darcamo

Esse tipo de coisa é extremamente fácil de fazer com o easytag se os seus arquivos de mp3 estão com as tags corretas.
Você pode dizer para ele que quer o padrão "Nome da banda - nome do álbum - # da faixa - nome da música". Para isso, escolha a pasta contendo as músicas, depois selecione todas as músicas e clique no botão "Verificar arquivos". Escolha a opção para renomear arquivos e escreva o padrão desejado usando a legenda que ele indica.

A menos que você queira fazer em shell script mesmo para aprender.

vinicius_aleao

Você também pode usar um programinha chamado PyRenamer, presente na Central de Programas.