29 lines
983 B
Bash
29 lines
983 B
Bash
#!/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
|