Renomeando arquivos do prefixo e sufix

2

Eu tenho uma série de arquivos de mídia que estou tentando renomear em massa.

001 - 01x01 - mediaTitle1.avi
002 - 01x02 - mediaTitle2.avi
003 - 01x03 - mediaTitle3.avi

O que eu gostaria é de produzir:

Series Title S01 E01 - mediaTitle1.avi
Series Title S01 E02 - mediaTitle2.avi
Series Title S01 E03 - mediaTitle3.avi

Estou tentando isso:

for f in *01x*; do echo mv -v "$f" "Series Title S01 E{f#1}"; done

Mas está falhando. Então eu quero manter o final do arquivo e substituir o início de cada arquivo

    
por Beertastic 22.01.2015 / 16:49

2 respostas

1

Você está perto, mas esqueceu (?) para colocar $ na expansão da variável, tente:

for f in  *01x*; do mv -v -- "$f" 'Series Title S01 E'"${f#*01x}"; done

Observe as aspas simples no arquivo de destino devido a espaços no nome do arquivo.

    
por 22.01.2015 / 17:01
0
cd /path/to/avidir; mkdir ../avidir2
pax -rwls '|.* - \(..\)x\(.. - \)|Series Title S E|' *.avi ../avidir2

O comando acima criará hard-links para todos os seus arquivos em outro diretório. Isso permite que você verifique se todas as alterações estão satisfatórias antes de remover os arquivos com nomes indesejados.

    
por 22.01.2015 / 17:07

Tags