Главная | Контакты



Главная > Программы

Как изменить кодировку имен файлов с помощью convmv

Бывает так, что вам нужно переконвертировать имена файлов с одной кодировки в другую. Такое может понадобиться, к примеру, если ваша система не понимает кириллицу и переводит ее не верно в utf. С такой проблемой пришлось столкнуться и мне, когда попал на компьютер один rar-архив. Он был упакован не мной на каком-то хостинге не поддерживающим нормальную кодировку, при просмотре архива, все кириллические имена картинок имели такой вид

Автомобильный-багажник-на-крышу-299x200
Жидкости-против-замерзания-замков
Дизельное-топливо-–-залог-мощи

На помощь пришел онлайн конвертер от студии Артемия Лебедева

Декодер сообщил, что имена файлов в cp1251 и при переводе в utf-8, получаем нормальные читабельные названия

Автомобильный-багажник-на-крышу-299x200
Жидкости-против-замерзания-замков
Дизельное-топливо-–-залог-мощи

Конвертер хорош для единичных случаев, но что делать если у вас сотни, тысячи подобных файлов, не переименовывать же каждый вручную ?
На помощь придет маленькая, но очень полезная утилитка - convm

Ставим ее любым удобным методом для:

Debian
sudo apt-get install convmv
Fedora / Centos
yum install convmv
FreeBSD
cd/usr/ports/converters/convmv 
make install clean
либо проще
pkg install convmv

Теперь чтобы переконвертировать все имена в текущей папке и подпапках

find . -type f -print -exec convmv --notest -f utf8 -t cp1251 {} \;
или
find . -type f -print -exec convmv --notest -f cp1251 -t utf8 {} \;

Внимание, опция --notest выполнит переконвертацию с изменением исходных файлов, поэтому рекомендую убрать ее для начала и посмотреть на тестовый результат.
Мне пришлось сначала перевести с utf8 в cp1251, а потом обратно в utf-8, так как имена файлов уже были в utf8.

Материал взят с сайта: http://nixtalk.com/izmenit-kodirovku-faylov

Главная > Программы