Перекодировать из CP866 в Win1251

vladimir021975

Порядка 20000 файлов. Есть такая утилита? Заранее спасибо.

Coffin

apt-get install re
for i in *.* ; do
re $i $i D W
done

vladimir021975

Спасибо, конечно. А можешь прокомментировать?

sergei1969

на пхп написать
Функция convert_cyr_string
(PHP 3>= 3.0.6, PHP 4 )
convert_cyr_string -- Convert from one Cyrillic character set to another
Description
string convert_cyr_string ( string str, string from, string to)
This function returns the given string converted from one Cyrillic character set to another. The from and to arguments are single characters that represent the source and target Cyrillic character sets. The supported types are:
k - koi8-r
w - windows-1251
i - iso8859-5
a - x-cp866
d - x-cp866
m - x-mac-cyrillic

voronetskaya

Есть тулза для слияния кучки текстовых файлов в одно и последующего "разлияния". В приципе она недолго пишется А потом уже любым по вкусу

Filan

cd /usr/ports/russian/xcode/
make install
cd <tvoy katolog>
for a in `ls`; do xcode +w -<ne pomnyu i negde posmotret'> $a > $a.cp1251; done

ppplva

А что, про iconv уже все забыли ?

sergey_m

а если в именах файлов есть пробелы?

sergey_m

russian/d1489 по идее работает быстрее. На 20000 файлах это уже может играть роль

ruler

apt-get install re
for i in *.*; do
re $i $i D W
done
*.*?
$i $i?

avinir60

Используй программу Штирлиц. В ней есть пакетное преобразование. Все сделает на автомате.

Filan

Ну ты же понимаешь что это не проблема?
Замени `ls`, например, на *.

Filan

Не одна херня в данном случае?
Всё равно из портов.
А всё остальное выглядело также - только дольше искать названия своих кодировок.
(Сравнительное тестирование по скорости перекодирования не поводил.)

sergey_m

"*" не поможет
Оставить комментарий
Имя или ник:
Комментарий: