По мере того как Unicode становится стандартом, приходится перекодировать старые русскоязычные файлы из прочих кодировок в UTF-8. Чтобы не разбираться с кодировкой каждого конкретного файла, можно применить алгоритм распознавания по парам соседних букв.
Вашему вниманию предлагается утилита toutf, выполняющая перекодировку из koi8-r, cp1251 и cp866 в utf-8.
toutf [флаги] файл...
Флаги:
Пример работы:
$ toutf * File foo.txt has encoding cp1251 Convert to utf-8? (y, N): y File bar.txt has encoding koi8-r Convert to utf-8? (y, N): y
Двоичные файлы, каталоги и специальные файлы затронуты не будут.
Для рекурсивной обработки дерева файлов воспользуйтесь командой:
find . -print0 | xargs -0 toutf
Исходный текст можно скачать здесь: toutf.c
Данная программа является свободным программным обеспечением и вы можете распространять ее в соответствии с условиями Стандартной Общественной Лицензии GNU.