Reemplazar los nombres de un grupo de fotos con nombres aleatorios en macOS
En ocasiones tenemos una carpeta con fotos nombradas de una determinada manera y queremos que se desordenen al azar. Una forma fácil de conseguirlo es generando para cada una de ellas un nombre aleatorio con la función rand_string en un script de bash.
Ejemplo: tenemos en el escritorio una carpeta llamada fotos con las imágenes cuyo nombre deseamos modificar de esta forma, Copiamos el texto siguiente a un editor de texto y lo guardamos como texto plano sin formato con la terminación .sh (archivo.sh reemplazando archivo por el nombre que desees).
#!/bin/bash chars=( {a..z} {A..Z} {0..9} ) function rand_string { local c=$1 ret= while((c--)); do ret+=${chars[$((RANDOM%${#chars[@]}))]} done printf '%s\n' "$ret" } for file in ~/Desktop/fotos/* do ext=$(echo ${file} | sed 's,^.*\(\.[^\.]*$\),\1,') mv "$file" ~/Desktop/fotos/"$(rand_string 10)"${ext} done
Al ejecutar el script con doble clic veremos que las fotos de la carpeta de referencia han adoptado unos nombres aleatorios y su ordenación por nombre ha cambiado. El proceso se puede repetir varias veces para desordenar todavía más los archivos respecto al orden original.
Nota: cambia en el script con editor de texto la ruta ~/Desktop/fotos/ por la que estés utilizando (sale 2 veces).
Antes del script:
Después del script: