perl -wne 'printf "byte %02X in line $.\n", ord $& while s/[^\t\n\x20-\x7E]//;'
найдет каждый символ, который не является символом ASCII, символ табуляции, пробел или символ новой строки.
Если он сообщает 0D
s (возврат каретки) в файлах, которые O.K., то измените \t\n
на \t\n\r
.
Если он сообщает только 0D
s в плохих файлах, то вы, вероятно, можете исправить эти файлы, запустив на них dos2unix
.