Ügyes, de nem kell hozzá regexp-es teszt, mert egy egyszerű trükkel kikerülhető, ráadásul egy másikkal a . kihagyható a listából (amit a tied nem tesz meg, így lesz egy barátságos hibaüzenet, amikor a . -ot akarod a semmire átnevezni) :
for i in `find . -type d -name \*\?. 2> /dev/null ` ; do mv "$i" "${i%.}" ; done