Você não menciona o seu sistema operacional, então eu darei uma solução usando as ferramentas POSIX, já que elas estão disponíveis para todos os principais sistemas operacionais. Eles estão disponíveis em todos os sistemas semelhantes a unix, mas você precisa instalá-los separadamente no Windows ( Serviços da Microsoft para Unix , Cygwin , Utilitários GNU Win32 , Msys , ...).
O comando find
procura em um diretório e em seus subdiretórios recursivamente por arquivos que correspondem a determinados critérios. Por exemplo, o comando a seguir mostra arquivos no diretório atual cujo nome contém um dos caracteres :
, ;
ou "
ou que têm mais de 64 caracteres.
find . -name '*[:;"]*' -o -name '?????????????????????????????????????????????????????????????????*'
¹ O POSIX um. O Windows possui um comando não relacionado com o mesmo nome.