Вы можете использовать find
. Параметры в OSX / Darwin find
немного отличаются от параметров в других вариантах * nix, поэтому некоторые из этих функций могут быть вам недоступны, но вы поймете суть и сможете поиграть с опциями, которые у вас есть:
find -regextype posix-extended -regex '.*\/[^\/]*[[:cntrl:]\\:*?"<>|].*' -print \ -exec mv "{}" "$(echo "{}" | perl -ane 'chomp; s/[[:cntrl:]\\:*?"<>|]//g; print' -)"