#!/bin/bash MIN_DIR_LEVELS=0 DIR_LEVELS=2 START=1 END=3 # Directorio que contiene las carpetas con las fotos MAIN_DIR=$1 # Iterar a través de cada carpeta en el directorio principal for image in "$MAIN_DIR"/*; do # Verificar si es un directorio # Iterar a través de cada imagen en la subcarpeta # Verificar si es un archivo if [ -f "$image" ]; then # Obtener el nombre de la imagen fileName=$(basename "$image") imageName="${fileName%.*}" hash=$(echo -n "$imageName" | sha1sum | awk '{print $1}') first=$(echo "$hash" | cut -c"$START"-"$DIR_LEVELS") second=$(echo "$hash" | cut -c"$DIR_LEVELS"-"$END") path=$(dirname "$image")/${first}/${second} mkdir -p $path # Crear un enlace simbólico en la carpeta principal mv $image $path/$fileName fi # done # fi done