From: Sergey Korobitsin <undertaker@arta.kz>
To: smoke-room@lists.altlinux.org
Subject: Re: [room] Как найти файл в определённой кодировке?
Date: Wed, 24 Aug 2011 17:43:25 +0600
Message-ID: <20110824114325.GP2067@undertaker.dev.lan.arta.kz> (raw)
In-Reply-To: <CADbnjxH7g_=43uGjFvm--vAQvLSQd5KVGyy+hfGXE_LmjdH42A@mail.gmail.com>
Денис Черносов ☫ → 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>
prev parent reply other threads:[~2011-08-24 11:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-22 11:06 ` Alexei V. Mezin
2011-08-24 10:09 ` Alexei V. Mezin
2011-08-22 11:53 ` Sergey Korobitsin
2011-08-24 10:14 ` Alexei V. Mezin
2011-08-24 10:23 ` Andrew Borodin
2011-08-25 20:18 ` Aleksey Avdeev
2011-08-24 10:19 ` Aleksey Avdeev
2011-08-24 11:43 ` Sergey Korobitsin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110824114325.GP2067@undertaker.dev.lan.arta.kz \
--to=undertaker@arta.kz \
--cc=smoke-room@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Культурный офтопик
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/smoke-room/0 smoke-room/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 smoke-room smoke-room/ http://lore.altlinux.org/smoke-room \
smoke-room@lists.altlinux.org smoke-room@lists.altlinux.ru smoke-room@lists.altlinux.com smoke-room@altlinux.ru smoke-room@altlinux.org smoke-room@altlinux.com
public-inbox-index smoke-room
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.smoke-room
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git