В целом нет никакого способа сделать это. UTF-8 не имеет никакого "магического числа" или маркера, таким образом, можно только доказать, что файл не находится в UTF-8 (если он содержит недопустимые последовательности), но не, что это.
Можно однако использовать эвристический подход. То, что точно работает, будет зависеть от Ваших данных.
Одна идея:
file
также проверит на символы неASCII, но это менее надежно (только проверки запускаются файла).iconv
или recode
). Допустимые файлы UTF-8, вероятно, в порядке. Остальные должны будут быть проверены вручную (если Вы не знаете наверняка, как они кодируются).