Cambio de nombre y crear carpetas (masivo)

Suelo olvidarme de como generar un cambio masivo de nombres y como crear muchas carpetas y mover los archivos a dichas carpetas.

Cambio de nombre masivo

En el link se puede ver la página en que me basé para esta parte. El Comando a utilizar se llama “rename” y su utilización es muy parecida a sed.

~$ man rename

rename – renames multiple files

SYNOPSIS
rename [ -h|-m|-V ] [ -v ] [ -0 ] [ -n ] [ -f ] [ -d ] [ -e|-E perlexpr]*|perlexpr [ files ]

En la página de bonaval explican algunos de los comandos, los más importantes son:

-v (Verbose: modo detallado, nos saca en pantalla lo que se va haciendo en el proceso)
-n (No Action: no realiza la acción, solo nos muestra lo que haría)
**es importante poner estos parámetros juntos la primera vez que ejecutamos, para comprobar que el resultado que vamos a obtener es el que queremos.

Como se utiliza

Si queremos cambiar el espacio del nombre por guión bajo a todos los archivos con extensión “.pdf”, debemos escribir:

rename 's/ /_/g' *.pdf

Para cambiar las mayúsculas por minúsculas debemos usar:

rename 'y/A-Z/a-z/' *

Trabajando con carpetas de forma masiva

Para este caso utilizaremos el comando for, La intención es crear una carpeta por cada archivo que empieze con “Colección” y posteriormente, mover el archivo a la carpeta que tiene su mismo nombre

~$ for file in Colección*
>do
>mkdir ${file/.pdf/}
>mv $file ${file/.pdf/}
>done

El código ${file/.pdf/} significa que al archivo que tiene extensión “.pdf”, lo dejaremos sin nada, esto debido a que las carpetas no deben tener extensión.

Si encuentro nuevas formas de hacer lo mismo, se irán agregando a este post.

This entry was posted in GNU/Linux. Bookmark the permalink.