mirror of
https://github.com/kevinveenbirkenbach/duplicate-file-handler.git
synced 2024-11-14 18:11:03 +01:00
36 lines
766 B
Bash
36 lines
766 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
if [ -z "$1" ]
|
||
|
then
|
||
|
echo "Directory path not provided"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
dir="$1"
|
||
|
duplicates=$(find "$dir" -type f -exec md5sum {} + | sort | uniq -d -w32)
|
||
|
|
||
|
echo "Duplicates found:"
|
||
|
|
||
|
echo "$duplicates" | while read line
|
||
|
do
|
||
|
files=$(grep "$line" <<< "$duplicates" | awk '{print $2}')
|
||
|
for file in ${files[@]}
|
||
|
do
|
||
|
echo "File: $file"
|
||
|
echo "Duplicate(s) of this file:"
|
||
|
for duplicate in ${files[@]}
|
||
|
do
|
||
|
if [ $duplicate != $file ]
|
||
|
then
|
||
|
echo $duplicate
|
||
|
fi
|
||
|
done
|
||
|
echo "Do you want to delete this file? [y/N]"
|
||
|
read answer
|
||
|
if [[ $answer == [yY] || $answer == [yY][eE][sS] ]]
|
||
|
then
|
||
|
rm -i "$file"
|
||
|
fi
|
||
|
done
|
||
|
done
|