I have some old migrated files that contain non-printable characters. I would like to find all files with such names and delete them completely from the system.
Exam
Based on this answer, try:
LC_ALL=C find . -regex '.*[^ -~].*' -print # -delete
or:
LC_ALL=C find . -type f -regex '*[^[:alnum:][:punct:]]*' -print # -delete
Note: After files are printed right, remove the # character.
#
See also: How do I grep for all non-ASCII characters.