Renomeia vários arquivos em vários diretórios para o nome do diretório mais 1

1

Eu tenho tentado renomear um monte de arquivos para seus diretórios.

Eu tenho vários diretórios com espaços e sem espaços /The Dark Tower .

Nele estão vários títulos com nomes de arquivos com espaços e sem espaços:

/The Dark Tower/TDT feature.mov
/The Dark Tower/Main Trailer.mov 
/The Dark Tower/Trailer_Sub

Eu preciso alterar os arquivos nesses diretórios com o nome da pasta adicionando um número ao final do nome do arquivo:

/The Dark Tower/TDT feature.mov   ->   /The Dark Tower/The Dark Tower1.mov

/The Dark Tower/Main Trailer.mov  ->   /The Dark Tower/The Dark Tower2.mov

/The Dark Tower/Trailer_Sub       ->   /The Dark Tower/The Dark Tower3.mov

Eu tenho feito isso manualmente, mas eu prefiro poder fazer isso com um script para 100 títulos de filmes que eu tenho. Eu sei que isso pode ser feito, mas minhas tentativas atuais não foram bem sucedidas.

    
por Austin Perez 04.03.2016 / 03:48

1 resposta

1

Renomeando arquivos com Bashisms

Existem certamente outras maneiras de fazer isso, mas se você estiver procurando por uma solução Bash pura que não dependa de outros utilitários além do próprio shell, o seguinte funcionará.

dir="The Dark Tower"
declare -i count=1
for file in "$dir"/*.mov; do
    mv "$file" "${dir}/${dir} ${count}.mov"
    count+=1
done
    
por 04.03.2016 / 04:09