Tengo una serie de archivos numerados del 1 al 20 y Terminal los ordena así:
episode1.txt episode10.txt episode11.txt episode12.txt
Quiero cambiar el nombre de los archivos del 1 al 9 insertando un 0 delante del número. Mi código es el siguiente:
for file in episode{1-9}.txt
do
rename -vs "episode"* "episode0"*
done
También probé el comando 'mv', pero no funciona. ¿Alguien tiene alguna sugerencia? gracias de antemano
Respuesta1
Para enumerar una secuencia, utilice {x..y}
en lugar de {x-y}
.
Dado que todos sus archivos tienen un nombre muy similar, podemos usar la expansión de parámetros para eliminar el prefijo episode
y reemplazarlo con episode0
.
El comando completo se ve así:
for file in episode{1..9}.txt
do
mv "$file" "episode0${file#episode}"
done
${file#episode}
es una expansión de parámetro que, en este caso, expande el parámetro file
mientras elimina el patrón de prefijo más corto que coincide episode
.