Convmv FreeBSD - преобразование имен файлов из одной кодировки в другую

Posted Втр, 03/30/2010 - 09:39 by Raven2000

Появилась необходимость преобразовать имена файлов из одной кодировки в другую на ftp сервере. Таких файлов собралось на 1Тб и нужно было перекодировать с cp1251 на koi8-r которую хорошо читает CLI FreeBSD.

# cd /usr/ports/

# make search name='convmv'

Port: convmv-1.14

Path: /usr/ports/converters/convmv

Info: Convert filenames from one encoding to another

Maint: kcwu@csie.org

B-deps: perl-5.8.9_3

R-deps: perl-5.8.9_3

WWW: _http://j3e.de/linux/convmv/man/

# cd /usr/ports/converters/convmv && make install clean

Пользоваться утилитой легко и для начала нужно выбрать исходную кодировку и необходимую. Далее посмотрим в тестовом режиме как будет выглядеть перекодирование и если все в порядке то приступим к конвертированию.

Я знал, что все файлы загружали из Windows систем, а там как известно кодировка cp1251 ее то я и выбрал в качестве исходной и мне было нужно всего навсего выставил нужную кодировку koi8-r. Вы можете пробовать любые варианты кодировок. Приступим к проверке.

# cd /home/ftp/

# convmv -r -f cp1251 -t koi8-r Games/

Starting a dry run without changes...

mv "Games/Arcade/бЕЯЕКЮЪ ТЕПЛЮ II.rar" "Games/Arcade/Веселая ферма II.rar"

mv "Games/Arcade/ЯСОЕП ЙНПНБЮ.rar" "Games/Arcade/супер корова.rar"

mv "Games/Arcade/ВСДН ТЕПЛЮ.rar" "Games/Arcade/чудо ферма.rar"

mv "Games/Arcade/АЮЬЕМЙХ.rar" "Games/Arcade/башенки.rar"

No changes to your files done. Use --notest to finally rename the files.

Как видим все в порядке файлы стали читабельны и теперь нам необходимо запустить с параметром --notest для выполнения конвертирования.

# convmv -r -f cp1251 -t koi8-r --notest Games/

~~

Ready!

Вот и все спустя некоторое время все файлы у меня были конвертированы в нужный формат.

Для дополнительных изменений во время конвертирования почитайте man.

http://www.ignix.ru/public/convmv

Обновлено: 12.03.2015