Cómo cambiar de nombre y extensión un fichero. O mejor: muchos de golpe
En ocasiones se nos presenta un archivo con un nombre que queremos cambiar. En otras ocasiones, lo que queremos cambiar es su extensión. Esto es algo muy sencillo en prácticamente cualquier sistema operativo, pero la cosa ya cambia si lo que queremos es hacerlo muchas veces. ¿Cuál es la mejor opción? Como muchos otros tipos de tareas en Linux, lo mejor (aunque no siempre) en estos casos es hacerlo desde el terminal o crearnos un script para automatizar el proceso de cambiar de nombre y extensión un fichero o muchos a la vez.
Pero antes de seguir me gustaría explicar algo: cambiarle la extensión a un archivo no es lo mismo que convertirlo. Lo único que estaremos haciendo al cambiarle la extensión a un archivo será algo así como “cambiarle el apellido”, pero el archivo seguirá siendo el mismo. Esto significa que, por ejemplo, si una foto está guardada en formato PNG, cambiarle la extensión y dejarla como algo.jpg no hará que sea JPG. Esto podremos comprobarlo haciendo clic derecho y mirando la información del archivo. ¿Para qué puede servirnos cambiar la extensión de un archivo? Hay casos en los que sí es buena idea.
Cambiar de nombre y extensión un fichero. ¿Qué es lo mejor?
Yo no soy un gran lector de cómics, pero sí tengo los de Dragon Ball. Hace tiempo conseguí los de Dragon Ball y Dragon Ball Z y en mi investigación me di cuenta de algo: los archivos CBR (Comic Book Reader) son básicamente un ZIP con una extensión que hace que se puedan abrir en software que sirve para leer cómics. Dicho de otro modo, a un cómic que venga comprimido en ZIP y dentro estén todas las imágenes (sin estar dentro de una carpeta) podemos cambiarle la extensión a .cbr y directamente se hará compatible con lectores de cómics. Este es un ejemplo perfecto para entender de qué va este post.
Para un archivo: F2
Si lo que queremos es cambiar de nombre y extensión de un archivo aislado, lo más sencillo es hacer clic derecho sobre él y elegir “Cambiar nombre”, “Renombrar” o lo que ponga en vuestra distribución Linux. En muchos sistemas operativos, la opción de renombrar es F2, pero también hay muchos ordenadores, sobre todo portátiles, donde F2 está “pillado” por alguna función (en mi portátil activa el modo avión). Si es vuestro caso, para renombrar un archivo deberéis usar Fn+F2.
Si le cambiamos sólo el nombre no nos dirá nada, pero si le cambiamos la extensión, algunos sistemas operativos nos preguntarán si queremos cambiarle/añadir una extensión diferente, a lo que deberemos decirle que sí o aceptar.
Con el comando mv
El comando mv viene de “move” (mover), pero también tiene la capacidad de renombrar. El comando quedaría así:
mv /ruta/al/archivo/origen.ext /ruta/al/archivo/destino.ext
De lo anterior tenemos que:
- mv es la orden.
- /ruta/al/archivo son las rutas, la primera la del archivo original y la segunda la del archivo que guardaremos con nuevo nombre y extensión.
- .ext es el ejemplo que he querido usar para definir la “extensión”.
Hay que tener en cuenta algo importante: hay directorios en los que no podemos realizar cambios porque están protegidos. Si queremos guardar un archivo en un directorio protegido deberemos usar “sudo mv”.
Con el comando rename
El comando rename es algo más potente que el anterior porque tiene más opciones disponibles. Si vuestra distribución Linux no lo tiene instalado por defecto, se puede instalar con el comando sudo apt install rename. La opción que nos interesa es la “s” (de “substitute”, sustituir) y el comando quedaría así:
rename 's/nombreviejo/nuevonombre/' archivo1.ext archivo24.ext
Este comando también nos permite cambiar el nombre y la extensión de muchos archivos, para lo que yo recomiendo meternos en el directorio donde estén los archivos desde el terminal. Para ello escribiremos estos comandos, siempre y cuando los archivos estén en el escritorio:
cd /home/pablinux/Escritorio sudo rename 's/.jpg/.png/' *
Antes de “‘s” podemos añadirle las opciones:
- –v: nos mostrará una lista de los archivos renombrados junto a los nuevos nombres.
- -n: hará una simulación que sólo mostrará los archivos que serán cambiados, pero no los toca.
- -f: forzará la sobreescritura de los archivos originales.
Con Inviska Rename
Inviska Rename es un software especialmente diseñado para renombrar en masa archivos y directorios. Es multiplataforma y está disponible para Linux. Una vez abierto, haremos lo siguiente
- Lo primero que veremos será una vista de nuestra carpeta personal. Yo he abierto la carpeta de mi escritorio y aparece lo que tenéis en la captura anterior.
- Primero elegiremos el nombre, en la pestaña “Name”.
- Sustituir nombre con X
- Sustituir el texto X con Y.
- Insertar el texto X en la posición Y.
- Insertar al principio X (podemos marcar la casilla de la derecha para que lo añada al final).
- Recortar en la posición X.
- Recortar N caracteres a la izquierda (podemos marcar la casilla de la derecha para que se recorte a la derecha).
- En la segunda pestaña (Extension) podemos elegir la extensión. Las opciones son las mismas que en la pestaña anterior.
- Y en la tercera, la numeración. Si no queremos añadir un número, lo dejamos por defecto. Si queremos añadirle un número podemos hacerlo al principio, al final o en una posición determinada. Queadría así:
- Hacemos clic en “Rename”.
- En el aviso hacemos clic en “Ok”.
- Si todo ha salido correctamente no veremos ningún mensaje. Ahora sólo quedará comprobar que los archivos se han convertido con el nombre que le hemos indicado y en la ruta que le hemos configurado.
¿Has probado si tu sistema operativo lo hace por defecto?
Esta pregunta me parece importante. Por ejemplo, Kubuntu no lo hace, pero Ubuntu sí permite cambiar el nombre a muchos archivos al mismo tiempo. Para ello basta con seleccionar varios archivos, hacer clic derecho y elegir la opción “Cambiar nombre”. Aparecerá algo parecido a lo que nos ofrece Inviska Rename, pero más simple. En cualquier caso, yo lo he usado y me ha servido.
Me parece importante volver a recordar que todo lo que hemos mencionado en este post trata sobre “renombrar”, no “convertir”. Para convertir un archivo o varios a otros formatos (otra extensión) habría que usar un sistema por cada tipo de archivo. Por ejemplo, para convertir todas las imágenes JPG de un directorio a PNG con la herramienta ImageMagick escribiríamos lo siguiente, algo que tenemos más detallado en nuestro blog hermano Ubunlog:
for file in *.png; do convert $file -resize 830 primera-$file; done
¿Ya sabes cómo cambiar el nombre y extensión de un fichero con tu PC con Linux?
El artículo Cómo cambiar de nombre y extensión un fichero. O mejor: muchos de golpe ha sido originalmente publicado en Linux Adictos.