ERICLINUX: Renombrando archivos con rename (I)

15/1/08

Renombrando archivos con rename (I)

Muchas veces sucede que necesitamos renombrar archivos, esto no es problema si se trata solo de un par pero que tal si por ejemplo tenemos una colección entera de mp3?

A modo de ejemplo, se puede decir que la mayoría de las veces que se ripea un cd de música (especialmente en Windows) se dejan espacios en blanco, los nombres en mayúsculas, en pocas palabras, los nombres de archivo son un desastre, especialmente para los que utilizamos GNU/Linux.

Eric nos mostró cómo instalar y utilizar una aplicación para renombrar múltiples archivos (GPRname - renombrar archivos) pero nosotros, fanáticos de la consola, preferimos dejar de lado las herramientas gráficas y utilizar toda la potencia que nos ofrece la terminal.

La versión de rename que viene con Debian y las distribuciones basadas en ella (Ubuntu y sus sabores) es diferente a las versiones de las demás distros (por ejemplo, Slackware y Gentoo) ya que aquella está basada en Perl, lo cual nos permite beneficiarnos de todo el poder que posee este lenguaje.

En esta ocasión veremos como podemos tener esa versión de rename en nuestro sistema no-Debian, en este caso Slackware pero también sirve para otras distribuciones.

En mi sistema tengo instalado Slackware y Ubuntu, asi que si ya poseemos una partición con Ubuntu, simplemente deberemos copiar el archivo dentro de nuestro directorio /usr/bin
Si lo buscamos en el árbol de directorios de Ubuntu veremos que se trata de un enlace a etc/alternatives/rename

pollux:bin$ ls -latr rename
lrwxrwxrwx 1 root root 24 2007-11-06 18:07 rename -> etc/alternatives/rename
pollux:bin$

Ahora si nos fijamos en él, podremos observar que se trata de otro enlace a usr/bin/prename

pollux:alternatives$ ls -latr rename
lrwxrwxrwx 1 root root 16 2007-12-10 19:34 rename -> /usr/bin/prename
pollux:alternatives$

Será ese entonces el archivo que tendremos que copiar al directorio /usr/bin de nuestro sistema, no sin antes hacer un backup del rename original, por las dudas.

Si la partición donde tenemos instalado Ubuntu está montada, entonces salteen este paso, de lo contrario habrá que montarla antes.
Logueados como usuario, creamos una carpeta

~$ mkdir ubuntu

Nos logueamos como root y la montamos con un comando parecido al siguiente:

# mount /dev/hdxx /home/usuario/ubuntu

Donde deben reemplazar "hdxx" y "usuario" por los datos correspondientes a su sistema. Puede utilizar el comando fdisk -l para tener la información de los discos y particiones.

Luego de montada la partición, ingresamos al directorio /usr/bin y hacemos un backup del archivo original

# cd /usr/bin
# cp -p rename rename.old

La opción -p es para que preserve los atributos del archivo original.

# rm -rf rename

Borramos el archivo.

Luego ingresamos al sistema de directorios de Ubuntu.

# cd /home/usuario/ubuntu/usr/bin

Copiar el archivo prename a /usr/bin

# cp -p prename /usr/bin

Luego creamos un enlace simbólico

# ln -s /usr/bin/prename rename

Salimos de root y listo, ya tendría que funcionar. Para asegurarnos, escribimos el siguiente comando:

$ rename -v

Debería respondernos con el siguiente mensaje:

Usage: rename [-v] [-n] [-f] perlexpr [filenames]

Esto significa que podemos utilizar las perlexp

Si el comando les responde con este otro mensaje:

call: rename from to files...

Entonces aún contamos con la vieja versión de rename por lo que deberemos revisar los pasos y volverlo a intentar. Linux siempre da revancha!

A continuación todos los comandos sin explicaciones, especial para copiar y pegar.

~$ mkdir ubuntu
# mount /dev/hdxx /home/usuario/ubuntu
# cd /usr/bin
# cp -p rename rename.old
# rm -rf rename
# cd /home/usuario/ubuntu/usr/bin
# cp -p prename /usr/bin
# ln -s /usr/bin/prename rename

En una próxima entrada veremos como aquellos que no tienen Ubuntu instalado en su sistema pero que sí poseen un Live-cd del mismo pueden copiarlo también desde allí (cómo?? no tiene un cd de Ubuntu en estos días??, debería darles verguenza!! ;-D ).

Muchas gracias.

Atentamente Christian.

Muchas veces sucede que necesitamos renombrar archivos, esto no es problema si se trata solo de un par pero que tal si por ejemplo tenemos una colección entera de mp3?

A modo de ejemplo, se puede decir que la mayoría de las veces que se ripea un cd de música (especialmente en Windows) se dejan espacios en blanco, los nombres en mayúsculas, en pocas palabras, los nombres de archivo son un desastre, especialmente para los que utilizamos GNU/Linux.

Eric nos mostró cómo instalar y utilizar una aplicación para renombrar múltiples archivos (GPRname - renombrar archivos) pero nosotros, fanáticos de la consola, preferimos dejar de lado las herramientas gráficas y utilizar toda la potencia que nos ofrece la terminal.

La versión de rename que viene con Debian y las distribuciones basadas en ella (Ubuntu y sus sabores) es diferente a las versiones de las demás distros (por ejemplo, Slackware y Gentoo) ya que aquella está basada en Perl, lo cual nos permite beneficiarnos de todo el poder que posee este lenguaje.

En esta ocasión veremos como podemos tener esa versión de rename en nuestro sistema no-Debian, en este caso Slackware pero también sirve para otras distribuciones.

En mi sistema tengo instalado Slackware y Ubuntu, asi que si ya poseemos una partición con Ubuntu, simplemente deberemos copiar el archivo dentro de nuestro directorio /usr/bin
Si lo buscamos en el árbol de directorios de Ubuntu veremos que se trata de un enlace a etc/alternatives/rename

pollux:bin$ ls -latr rename
lrwxrwxrwx 1 root root 24 2007-11-06 18:07 rename -> etc/alternatives/rename
pollux:bin$

Ahora si nos fijamos en él, podremos observar que se trata de otro enlace a usr/bin/prename

pollux:alternatives$ ls -latr rename
lrwxrwxrwx 1 root root 16 2007-12-10 19:34 rename -> /usr/bin/prename
pollux:alternatives$

Será ese entonces el archivo que tendremos que copiar al directorio /usr/bin de nuestro sistema, no sin antes hacer un backup del rename original, por las dudas.

Si la partición donde tenemos instalado Ubuntu está montada, entonces salteen este paso, de lo contrario habrá que montarla antes.
Logueados como usuario, creamos una carpeta

~$ mkdir ubuntu

Nos logueamos como root y la montamos con un comando parecido al siguiente:

# mount /dev/hdxx /home/usuario/ubuntu

Donde deben reemplazar "hdxx" y "usuario" por los datos correspondientes a su sistema. Puede utilizar el comando fdisk -l para tener la información de los discos y particiones.

Luego de montada la partición, ingresamos al directorio /usr/bin y hacemos un backup del archivo original

# cd /usr/bin
# cp -p rename rename.old

La opción -p es para que preserve los atributos del archivo original.

# rm -rf rename

Borramos el archivo.

Luego ingresamos al sistema de directorios de Ubuntu.

# cd /home/usuario/ubuntu/usr/bin

Copiar el archivo prename a /usr/bin

# cp -p prename /usr/bin

Luego creamos un enlace simbólico

# ln -s /usr/bin/prename rename

Salimos de root y listo, ya tendría que funcionar. Para asegurarnos, escribimos el siguiente comando:

$ rename -v

Debería respondernos con el siguiente mensaje:

Usage: rename [-v] [-n] [-f] perlexpr [filenames]

Esto significa que podemos utilizar las perlexp

Si el comando les responde con este otro mensaje:

call: rename from to files...

Entonces aún contamos con la vieja versión de rename por lo que deberemos revisar los pasos y volverlo a intentar. Linux siempre da revancha!

A continuación todos los comandos sin explicaciones, especial para copiar y pegar.

~$ mkdir ubuntu
# mount /dev/hdxx /home/usuario/ubuntu
# cd /usr/bin
# cp -p rename rename.old
# rm -rf rename
# cd /home/usuario/ubuntu/usr/bin
# cp -p prename /usr/bin
# ln -s /usr/bin/prename rename

En una próxima entrada veremos como aquellos que no tienen Ubuntu instalado en su sistema pero que sí poseen un Live-cd del mismo pueden copiarlo también desde allí (cómo?? no tiene un cd de Ubuntu en estos días??, debería darles verguenza!! ;-D ).

Muchas gracias.

Atentamente Christian.

4 COMENTARIOS:

Eric | 15 de enero de 2008, 16:58  

Buen Dato Christian.
También existe GPRename. Éste es el post.
http://ericlinux.blogspot.com/2007/12/gprename-renombrar-archivos.html

Atentamente Eric.

Christian | 15 de enero de 2008, 17:12  

Gracias Eric por tu comentario.
Si te fijas en la entrada, en el tercer párrafo hago mención a esa aplicación e incluso puse el link a tu post, la próxima vez lo resaltaré para que se note más.
Muchas gracias y saludos!

Eric | 15 de enero de 2008, 19:44  

¿Que tal Christian?.
Si es cierto, e pasado por alto el enlace.
Gracias por la corrección.

Atentamente Eric.

Christian | 15 de enero de 2008, 20:22  

Eric.
No hay problemas, para eso estamos :)
Gracias y saludos.

Publicar un comentario

Bienvenido a ERICLINUX.
Gracias por tu comentario.

Nota: solo los miembros de este blog pueden publicar comentarios.

Tu comentario será moderado la primera vez que lo hagas al igual que si incluyes enlaces. A partir de ahi no ser necesario si usas los mismos datos y mantienes la cordura. No se publicarán insultos, difamaciones o faltas de respeto hacia los lectores y comentaristas de este blog.