#!/bin/bash if [ "$(pwd)" == "$HOME" ]; then echo "Current directory should not be HOME" exit 1 fi mapfile -t files < <(find . -maxdepth 1 -type f -not -name 'desktop.ini') for filename in "${files[@]}"; do filename_m5sum=$(md5sum "$filename" | awk '{print $1}') filename_extension="${filename##*.}" new_filename="$filename_m5sum.$filename_extension" if [ "$filename" == "$new_filename" ]; then continue fi mv "$filename" "$new_filename" done