Como posso usar o comando rename para corrigir esses nomes de arquivo?

Como posso usar o comando rename para corrigir esses nomes de arquivo?

Estou tentando alterar arquivos parecidos com

01 Track name.mp3

em

01 - Track name.mp3

Até agora minhas tentativas inúteis foram

rename '0. ' '$&- ' *.mp3
rename 's/0. /$&- /' *.mp3
rename '/0. /' '/$&- /' *.mp3
rename 's/0.\ /$&-\ /' *.mp3
rename 's/0.\ /$1-\ /' *.mp3

Responder1

Assumindo o renamecomando perl:

Você está bem perto do último comando. rename 's/(0.) /$1 - /' *.mp3podia funcionar. Não há necessidade de escapar do espaço, eles não têm nenhum significado especial em expressões regulares (têm em nomes de arquivos, mas isso não importa aqui) e você precisa de parênteses em torno da parte que deseja reutilizar.

Responder2

Tem que usar o renamecomando?

$ ls
01 Track name.mp3  02 Track name.mp3  03 Track name.mp3

$ for a in *.mp3
> do
> mv -i "$a" "${a%% *} - ${a#* }"
> done

$ ls
01 - Track name.mp3  02 - Track name.mp3  03 - Track name.mp3

Responder3

$ rename 's/^(\d\d)\s*/$1 - /' *.mp3

Isso renomeará todos os arquivos MP3 que possuem dois dígitos no início de seus nomes de arquivo, inserindo espaço-traço-espaço após os dígitos. Então 01 Track name.mp3vai se tornar01 - Track name.mp3

A julgar pelas suas próprias tentativas, todos os nomes de arquivos começam com o dígito zero e parece que você deseja inserir um travessãodiretamenteapós os dígitos seguidos por um espaço:

$ rename 's/^(0\d)\s*/$1- /' *.mp3

Isso se transforma 01 Track name.mp3em 01- Track name.mp3.

Responder4

Existem dois (três) comandos de apagamento: um que faz parte doutilitário-linuxpacote que é instalado em todos os sistemas Linux não embarcados e um (duas variantes, na verdade) baseado em Perl. VerO que há com todas as renomeações: pré-nomear, renomear, renomear arquivo?

O comando util-linux é muito básico, mas você está na rara situação em que ele pode fazer o que quiser. Substitua o primeiro espaço por espaço-traço-espaço:

rename ' ' ' - ' [0-9][0-9]\ [^-]*

informação relacionada