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:
