25 lines
569 B
Bash
Executable File
25 lines
569 B
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ "$(pwd)" == "$HOME" ]; then
|
|
echo "Current directory should not be HOME"
|
|
exit 1
|
|
fi
|
|
|
|
mapfile -t files < <(find . -type f -not -name 'urls.txt' -not -name 'desktop.ini')
|
|
|
|
for filepath in "${files[@]}"; do
|
|
filename=$(basename "$filepath")
|
|
filename_dir=$(dirname "$filepath")
|
|
|
|
filename_md5sum=$(md5sum "$filepath" | awk '{print $1}')
|
|
filename_extension="${filename##*.}"
|
|
|
|
new_filename="$filename_md5sum.$filename_extension"
|
|
|
|
if [ "$filename" == "$new_filename" ]; then
|
|
continue
|
|
fi
|
|
|
|
mv "$filepath" "$filename_dir/$new_filename"
|
|
done
|