Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Linux! Как из из баш-скрипта узнать кодировку файла?

Пользователь удален Мастер (1371), закрыт 15 лет назад
Хочу слабать "мега-скрипт": который пройдется по всей моей библиотеке и перекодирует ее TXT-файлы в UTF-8... Одна загвоздка - некоторые файлы с какого-то перепугу не в CP1251, а в IBM866 кодировке.... Думал как написать.. . Ну в принципе по команде iconv -f cp1251 -t utf8 если файл в ibm866, то выводится ошибка: на которую можно сориентироваться. Но хотелось-бы как-то элегантнее написать - чтоб из любой кириллической кодировки тексты протянуть....
Дополнен 15 лет назад
Народ, я нашел ответ - утилита enca !

Поскольку упоминание об этой утилите было в одной из ссылок, кторые дал Николай Сасковец, то "Лучшим" видиму нужно признать его ответ )

P.S. я рад до ушей! ) не нужно изобретать велосипед )))
P.P.S. А еще было круто узнать, что enca УЖЕ была у меня установлена на момент вбития строки запроса к yum-у.
Лучший ответ
Остальные ответы
Астров Николай Мудрец (10293) 15 лет назад
писать влом и смотреть влом, но идея такая - кодировки не полностью перенсекаются, в русском языке очень точная частотность букв, прогонять регулярны выражением и считать количество гласных их около ~ 37 вроде :)
или второй вариант давно использовал "ой ай" два очень характерных окончания для текстов.
P.S. может и элегантней, но быстрее будет ошибку ловить и перебирать всю локаль .
Алексей Неважно Мудрец (10282) 15 лет назад
посмотри это (сам не проверял) : re - Russian Anywhere -- Russian text converter
глянь эту ссылку http://www.opennet.ru/base/dev/charset_autodetect.txt.html
ну и гугл как всегда рулит
Похожие вопросы