#!/bin/bash mapfile -t files < <(find . -maxdepth 1 -type f) 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