Usar Terminal para cambiar el nombre de ciertos archivos numerados

Usar Terminal para cambiar el nombre de ciertos archivos numerados

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 episodey 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 filemientras elimina el patrón de prefijo más corto que coincide episode.

información relacionada