[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