[room] Как найти файл в определённой кодировке?
Sergey Korobitsin
undertaker на arta.kz
Ср Авг 24 11:43:25 UTC 2011
Денис Черносов ☫ → To Культурный офтопик @ Wed, Aug 24, 2011 14:04 +0400
> Поэкспериментировал...
> 1) вроде бы recode действительно не перекодирует лишнего, но
> 2) преобразование виндовых разделителей в юниксовые он делать не умеет и
> вообще не перекодирует такие файлы:
>
> recode: failed: Ambiguous output in step `CR-LF..data'
>
> Зато iconv их нормально отрабатывает. Но iconv точно пытается перекодироват
> файлы, которые уже в юникоде и вылетает по ошибке:
>
> iconv: недопустимая входная последовательность в позиции 1099
>
> Так что вижу выход рекурсивного прохода каталога с помощью recode и второго
> прохода файлов, на которых он споткнулся с помощью iconv.
Можно сделать в три этапа:
1. Прогоняем каталоги dos2unix (или аналогичной штукой, tr например)
Результат: имеем все файлы в UNIX-кодировке
2. Натравливаем на готовые файлы. В идеале оно должно пройти без ошибок.
Если ошибки всё-таки есть, то смотрим, что произошло и при
необходимости натравливаем iconv
> Спасибо всем за участие! Особенно тебе, земляк. ;)
Пожалуйста! Меня тоже напрягают файлы не в unicode и не в
unix-line-endings. При попытке работать с такими с помощью while; read,
awk, да почти всеми текстовыми утилитами, начинается такая катавасия,
что боже упаси.
--
Bright regards, Sergey Korobitsin,
Chief Research Officer
Arta Software, http://arta.kz/
xmpp:undertaker на jabber.arta.kz
--
Пифагоровы штаны Лобачевскому смешны
-- <lj user=osd>
Подробная информация о списке рассылки smoke-room