Для тех, кто борется с этим с помощью macOS, сначала установите все инструменты:
brew install tree findutils rename
Затем, когда необходимо переименовать, создайте псевдоним для GNU find (gfind) как find. Затем запустите код @Michel Krelin:
alias find=gfind
find . -depth -name '* *' \
| while IFS= read -r f ; do mv -i "$f" "$(dirname "$f")/$(basename "$f"|tr ' ' _)" ; done