Вы не упоминаете свою операционную систему, поэтому я дам решение с использованием инструментов POSIX, так как они доступны для каждой основной операционной системы. Они доступны во всех Unix-подобных системах, но их необходимо устанавливать отдельно в Windows ( службы Microsoft для Unix, Cygwin, GNU Win32, Msys, ...).
find
Command¹ выглядит в каталоге и его подкаталогах рекурсивно для файлов, удовлетворяющих определенным критериям. Например, следующая команда показывает файлы в текущем каталоге, имя которого содержит один из символов :
, ;
или "
, или чем более 64 символов.
find . -name '*[:;"]*' -o -name '?????????????????????????????????????????????????????????????????*'
P POSIX один. Windows имеет несвязанную команду с тем же именем.