20 lines
679 B
Bash
20 lines
679 B
Bash
#!/bin/bash
|
|
DIR_LEVELS=2
|
|
for collection in */ ; do
|
|
for size in "$collection"*/ ; do
|
|
for image in "$size"* ; do
|
|
if [ -f "$image" ]; then
|
|
fileName=$(basename "$image")
|
|
imageName="${fileName%.*}"
|
|
hash=$(echo -n "$imageName" | sha1sum | awk '{print $1}')
|
|
first=$(echo "$hash" | cut -c"$inicio"-"$DIR_LEVELS")
|
|
second=$(echo "$hash" | cut -c"$DIR_LEVELS"-"$fin")
|
|
path=$(dirname "$image")/${first}/${second}
|
|
mkdir -p $path
|
|
ln -s "$image" "$fileName"
|
|
mv $image $path/$fileName
|
|
fi
|
|
done
|
|
done
|
|
done
|