Это работает (проверено):
#!/bin/bash
filenames=$(find . -type f) # stores all filenames in $filenames
for filename in $filenames; do # for each member in $filenames
newfilename=$(echo "$filename" | sed 's/\(.*\)\/\(..\)\(.*\)$/\1\/\2\.\3/') # edits $filename by adding a . after the second character and stores the edited string in $newfilename
mv "$filename" "$newfilename" # renames $filename to $newfilename
done