#!/bin/bash ########################################################################### #Autor: Andrés Silva # #Fecha: 29 de julio de 2010 # #Blog: http://ubuntu-profesional.blogspot.com/ # #Descripción: Otorga varias opciones de renombramiento rápido utilizando # # comandos rename y mvb # ########################################################################### #Variables generales title="Renombrador de Archivos" #Opciones de acciones para renombrar op1="Sustituir una cadena de texto por otra" op2="Renombrar completamente (incluye secuencia numérica)" op3="Agregar cadena de texto al principio" op4="Agregar cadena de texto al final" op5="Cambiar espacios por '_'" op6="Cambiar '_' por espacios" op7="Cambiar mayúsculas a minúsculas" op8="Cambiar de minúsculas a mayúsculas" #Saludo echo Bienvenido al Renombrador de archivos #Seleccionar opción de renombramiento op=$(zenity --list --radiolist --title "$title" --column " " --column "Acciones" TRUE "$op1" FALSE "$op2" FALSE "$op3" FALSE "$op4" FALSE "$op5" FALSE "$op6" FALSE "$op7" FALSE "$op8" --width 500 --height 300); #Acciones a ejecutar según la opción seleccionada anteriormente case $op in $op1) #Salida de acción seleccionada echo "Acción seleccionada: $op1" #Ingreso de la cadena de texto a sustituir input=$(zenity --entry --title "$title" --text "Cadena de texto a sustituir:" --width 400); echo "Carácteres a sustituir: $input" #Ingreso de la nueva cadena output=$(zenity --entry --title "$title" --text "Cadena de texto sustituta:" --width 400); echo "Carácteres sustitutos: $output" #Ingreso de la extensión de los archivos a sustituir (criterio de búsqueda) filetype=$(zenity --entry --title "$title" --text "Extensión a convertir (sin el punto):" --entry-text "por ejemplo: png" --width 400); echo "Extensión a convertir: .$filetype" #Comando a ejecutar echo "Comando a ejecutar: rename s/$input/$output/ *.$filetype" rename s/$input/$output/ *.$filetype ;; $op2) #Salida de acción seleccionada echo "Acción seleccionada: $op2" #Ingreso del nuevo nombre input=$(zenity --entry --title "$title" --text "Ingrese el nuevo nombre:" --width 400); echo "Nombre: $input" #Ingreso de la extensión de los archivos a sustituir (criterio de búsqueda) filetype=$(zenity --entry --title "$title" --text "Extensión a convertir (sin el punto):" --entry-text "por ejemplo: png" --width 400); echo "Extensión a convertir: .$filetype" #Comando a ejecutar echo "Comando a ejecutar: mvb $input" #Este ejecuta el renombramiento mvb -ls -f $filetype $input #Este pregunta si se quiere deshacer el renombramiento mvb -u #Este limpia el archivo temporal creado por mvb mvb -c ;; $op3) #Salida de acción seleccionada echo "Acción seleccionada: $op3" #Ingreso de la cadena de texto a agregar al principio input=$(zenity --entry --title "$title" --text "Cadena a agregar:" --entry-text "Incluir separador (\. = . ; \ = espacio)" --width 400); echo "Carácteres a sustituir: $input" #Ingreso de la extensión de los archivos a sustituir (criterio de búsqueda) filetype=$(zenity --entry --title "$title" --text "Extensión a convertir (sin el punto):" --entry-text "por ejemplo: png" --width 400); echo "Extensión a convertir: .$filetype" #Comando a ejecutar echo "Comando a ejecutar: rename s/^/$input/ *.$filetype" rename s/^/$input/ *.$filetype ;; $op4) #Salida de acción seleccionada echo "Acción seleccionada: $op4" #Ingreso de la cadena de texto a agregar al final input=$(zenity --entry --title "$title" --text "Cadena a agregar al final:" --entry-text "Incluir separador (\. = . ; \ = espacio)" --width 400); echo "Carácteres a sustituir: $input" #Ingreso de la extensión de los archivos a sustituir (criterio de búsqueda) filetype=$(zenity --entry --title "$title" --text "Extensión a convertir (sin el punto):" --entry-text "por ejemplo: png" --width 400); echo "Extensión a convertir: .$filetype" #Comando a ejecutar echo "Comando a ejecutar: rename s/^/$input/ *.$filetype" rename s/$filetype/"$input.$filetype"/ *.$filetype ;; $op5) #Salida de acción seleccionada echo "Acción seleccionada: $op5" #Ingreso de la extensión de los archivos a sustituir (criterio de búsqueda) filetype=$(zenity --entry --title "$title" --text "Extensión a convertir (sin el punto):" --entry-text "por ejemplo: png" --width 400); echo "Extensión a renombrar: .$filetype" #Comando a ejecutar echo "Comando a ejecutar: rename y/\ /_/ *.$filetype" rename y/\ /_/ *.$filetype ;; $op6) #Salida de acción seleccionada echo "Acción seleccionada: $op6" #Ingreso de la extensión de los archivos a sustituir (criterio de búsqueda) filetype=$(zenity --entry --title "$title" --text "Extensión a convertir (sin el punto):" --entry-text "por ejemplo: png" --width 400); echo "Extensión a renombrar: .$filetype" #Comando a ejecutar echo "Comando a ejecutar: rename y/_/\ / *.$filetype" rename y/_/\ / *.$filetype ;; $op7) #Salida de acción seleccionada echo "Acción seleccionada: $op7" #Ingreso de la extensión de los archivos a sustituir (criterio de búsqueda) filetype=$(zenity --entry --title "$title" --text "Extensión a convertir (sin el punto):" --entry-text "por ejemplo: png" --width 400); echo "Extensión a renombrar: .$filetype" #Comando a ejecutar echo "Comando a ejecutar: rename y/_/\ / *.$filetype" rename y/A-Z/a-z/ *.$filetype ;; $op8) #Salida de acción seleccionada echo "Acción seleccionada: $op8" #Ingreso de la extensión de los archivos a sustituir (criterio de búsqueda) filetype=$(zenity --entry --title "$title" --text "Extensión a convertir (sin el punto):" --entry-text "por ejemplo: png" --width 400); echo "Extensión a renombrar: .$filetype" #Comando a ejecutar echo "Comando a ejecutar: rename y/_/\ / *.$filetype" rename y/a-z/A-Z/ *.$filetype ;; esac echo "Renombramiento terminado" echo "In Lak'ech = 'Yo soy otro tu'" exit