67 lines
1.3 KiB
Bash
67 lines
1.3 KiB
Bash
#!/bin/bash
|
|
NOEXIF='no_exif'
|
|
MD5MATCH='md5_collision'
|
|
DUPLICATE='duplicate'
|
|
|
|
md5compare() {
|
|
file1md5=$(md5sum "$1" | awk '{print $1}')
|
|
file2md5=$(md5sum "$2" | awk '{print $1}')
|
|
if [ "$file1md5" == "$file2md5" ]; then
|
|
echo "md5 clash"
|
|
mv $2 $MD5MATCH/$2
|
|
else
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
if [ ! -d $MD5MATCH ]
|
|
then
|
|
mkdir $MD5MATCH
|
|
fi
|
|
|
|
if [ ! -d $NOEXIF ]
|
|
then
|
|
mkdir $NOEXIF
|
|
fi
|
|
|
|
if [ ! -d $DUPLICATE ]
|
|
then
|
|
mkdir $DUPLICATE
|
|
fi
|
|
|
|
for file in *.JPG *.jpeg *.JPEG; do
|
|
mv "$file" "$(basename "$file" .JPG).jpg"
|
|
done
|
|
|
|
#for f in *.jpg *.jpeg *.JPG *.png
|
|
for f in *.jpg
|
|
do
|
|
#if ext = jpeg JPG jpg name = jpg
|
|
folder="$(exiftool -d "%Y-%m" -CreateDate "$f" | awk '{print $4}')"
|
|
filename="$(exiftool -d "%Y-%m-%d_%H-%M-%S" -CreateDate "$f" | awk '{print $4".jpg"}')"
|
|
echo $f
|
|
|
|
if [[ -n $folder ]]
|
|
then
|
|
if [[ ! -d $folder ]]; then
|
|
echo "new date folder"
|
|
mkdir $folder
|
|
fi
|
|
|
|
if [[ ! -f $folder/$filename ]]
|
|
then
|
|
echo $folder/$filename
|
|
mv "$f" "$folder/$filename"
|
|
else
|
|
if ! md5compare "$folder/$filename" "$f"; then
|
|
echo $DUPLICATE/$folder/$filename
|
|
mv "$f" "$DUPLICATE/$f"
|
|
fi
|
|
fi
|
|
else
|
|
echo "move to noexif"
|
|
mv "$f" "$NOEXIF/$f"
|
|
fi
|
|
done
|
|
echo "finished"
|