Autor Tópico: Substituir o nome de vários arquivos - shell script  (Lida 4068 vezes)

Offline loothers

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
Substituir o nome de vários arquivos - shell script
« Online: 03 de MAR?O de 2012, 22:03 »
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

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: Substituir o nome de vários arquivos - shell script
« Resposta #1 Online: 03 de MAR?O de 2012, 22:22 »
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

Offline loothers

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
Re: Substituir o nome de vários arquivos - shell script
« Resposta #2 Online: 03 de MAR?O de 2012, 23:02 »
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)

Offline fpissarra

  • Usuário Ubuntu
  • *
  • Mensagens: 246
    • Ver perfil
    • Lost in the e-Jungle
Re: Substituir o nome de vários arquivos - shell script
« Resposta #3 Online: 04 de MAR?O de 2012, 13:27 »
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):

Código: [Selecionar]
rename 's/^\(.*\)/Led Zeppeling I - $1/' *.mp3

Darcamo

  • Visitante
Re: Substituir o nome de vários arquivos - shell script
« Resposta #4 Online: 04 de MAR?O de 2012, 20:59 »
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.

Offline vinicius_aleao

  • Usuário Ubuntu
  • *
  • Mensagens: 1.275
    • Ver perfil
Re: Substituir o nome de vários arquivos - shell script
« Resposta #5 Online: 04 de MAR?O de 2012, 21:37 »
Você também pode usar um programinha chamado PyRenamer, presente na Central de Programas.