Tal y como comenté el otro día, en el artículo Renombrado de archivos en Ubuntu, sería muy interesante poder traer el potencial de Python para utilizarlo renombrando archivos, así que me he puesto y lo he hecho, y estoy verdaderamente asombrado de la potencia de este sencillo script, que si bien se podría considerar como un punto de partida, la potencia del mismo está fuera de toda duda.
Renombrando archivos
El funcionamiento es bien sencillo, seleccionas varios archivos en Nautilus, y haces clic con el botón derecho del ratón para que te aparezca el menú contextual:
Yo en principio, lo he instalado ahí, pero tu puedes instalarlo en cualquier otro sitio dentro de la carpeta de scripts de nautilus, como luego te indicaré. Bueno, seleccionas rename-me, y te aparecerá la siguiente ventana:
Como ves, en la parte superior ves unas instrucciones mínimas, a saber:
{filename} corresponde al nombre del archivo
{extension} es la extension del archivo
{iterator} es un iterador que luego veremos su uso
format_numbert(patter,number) es una función para formatear números. Luego explicaré su uso.
Si directamente pulsas sobre el botón Preview, obtendrás el siguiente resultado:
Como ves no hemos avanzado gran cosa, ahora viene lo bueno. Instalación y uso:
Instalación
Este complemento no se encuentra en los repositorios oficiales de Ubuntu, para instalarlo, ejecuta las siguientes órdenes en un emulador de terminal,
sudo add-apt-repository ppa:atareao/nautilus-extensions sudo apt update sudo apt install rename-me
Uso. Renombrando archivos.
Funciona igual que si manejaras Python. Si conoces Python, pues ya no hace falta nada mas. Si no conoces Python, a que esperas para aprender, ahora tienes una nueva herramienta para practicar sin parar.
He definido 3 variables, como he explicado arriba {filename} y{extension} que se sustituyen con las características del archivo en cuestión y {iterator} que es un contador y se sustituye por el número de archivo.
Nociones básicas
- Sustituir guión bajo por espacio: {filename}.replace(«_»,» «). Replace en Python
- Además de reemplazar el guión bajo, convertimos a minúsculas. Lower in Python. Además de lower(), tienes:
- capitalize() convierte el primer carácter a mayúsculas y el resto a minúsculas
- swapcase() convierte las minúsculas a mayúsculas y viceversa
- title() convierte el primer carácter de cada palabra en mayúscula y el resto en minúsculas
- upper() convierte a mayúsculas todo
- Ahora introducimos {iterator} y format_number. Como he mencionado antes, {iterator} simplemente cuenta los archivos. Con format_number lo formateas. ¿Como funciona? lo que hace es remplazar caracteres del patrón con el número. Por ejemplo, si el patrón es «000» y el número «47», la cosa queda en «047», si el patrón fuera «0000», entonces sería «0047», si el patrón fuera «tortilladepatatas» -> «tortilladepatat47»
- También se puede trabajar directamente con la cadena de caracteres:
- {filename}[:10] -> los primeros diez caracteres
- {filename}[10:] -> del décimo caracter al final
- {filename}[:-2] -> todos menos los dos últimos
- {filename}[-2:] -> los dos últimos
- {filename}[1:4] -> del carácter 1 (antes del uno está el carácter cero) hasta el carácter 4 (sin incluir)
- Lo mismo que antes y además minúsculas
- Igual que antes pero sin extensión:
- Ahora con la extensión en mayúsculas
Como ves el potencial es enorme y las posibilidades infinitas. Quizá sería interesante añadir la opción de deshacer, así como guardar las más utilizadas para reutilizarlas posteriormente, pero esto lo dejaré para más adelante, a ver que opináis.
wow, excelente aplicación, hace rato que quiero aprender Python pero no soy programador. Esto me anima aun mas.
Siempre sorprendiéndome con tu trabajo, felicitaciones.
A veces no es necesario reinventar la rueda… ya existe pyrenamer,
http://www.infinicode.org/code/pyrenamer/ incluido en muchas distribuciones linux
Saludos