Usando o Terminal para renomear determinados arquivos numerados

Usando o Terminal para renomear determinados arquivos numerados

Eu tenho uma série de arquivos numerados de 1 a 20 e o Terminal os classifica assim:

episode1.txt
episode10.txt
episode11.txt
episode12.txt

Quero renomear os arquivos de 1 a 9 inserindo um 0 na frente do número. Meu código é o seguinte:

for file in episode{1-9}.txt
do
   rename -vs "episode"* "episode0"*
done

Também tentei o comando 'mv', mas não funciona. Alguém tem alguma sugestão? desde já, obrigado

Responder1

Para enumerar uma sequência, use {x..y}em vez de {x-y}.

Como todos os seus arquivos têm nomes muito semelhantes, podemos usar a expansão de parâmetros para cortar o prefixo episodee substituí-lo por episode0.

O comando completo é assim:

for file in episode{1..9}.txt
do
    mv "$file" "episode0${file#episode}"
done

${file#episode}é uma expansão de parâmetro que, neste caso, expande o parâmetro fileenquanto remove o padrão de prefixo mais curto que corresponde a episode.

informação relacionada