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 episode
e 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 file
enquanto remove o padrão de prefixo mais curto que corresponde a episode
.