12.03.2009 15:30
cppmm — Смена локали
До недавнего времени использовал везде исключительно koi8-r. Но, всё течёт, всё изменяется. Решил перейти на utf-8.Сама смена локали порблем не вызывает - dpkg-reconfigure locales и всё. С этим просто. Но дело в том, что имена всех файлов остаются в koi8-r. Тут пришлось немного поковыряться.
Первое, за что взялся - за колекцию музыки. Есть такая замечательная утилита EasyTag. Давно пользуюсь ей(все теги у меня уже давно в UTF). Она же умеет менять имена файлов в соответствии с тегами.
А вот для всех остальных файлов пришлось наваять маленький скриптик.
Для начала, копирую все файлы, которые надо переименовать в отдельную директорию. Далее, создаю временный файл с листингом этой директории:
ls -1 tmpdir/ > tmpfile
Этот файл надо слегка обработать. ls добавляет туда неотображаемые символы, которые в скрипте обрабатывать мне показалось сложновато. Я их просто убрал с помощью vim. В командном режиме:
%s/\e\<0m//g
Теперь собственно скрипт:
Число STRN - количество файлов из листинга. Это число можно получить с помощью cat -n tmpfile. Директорию new создал руками. Всё. После отработки скрипта(в качестве первого аргумента даём ему tmpdir, а второго -количество файлов), в new будут лежать все наши файлики с именами в utf-8.
P.S. Перемещать файлы, предназначенные для переименования во временную директорию надо только с помощью cp! Никаких mc.
(c) http://cppmm.blogspot.com/
Kraplax 12.03.2009 15:38 #
+ 0 -
Просьба - вставь где-нить после первого-второго абзаца
А. Понял. Почему-то решил, что на главную автоматом кусочек отрезается. Учту на будущее.
Ну, просто система ещё со времён Sarge без переустановки. Только обновления. :) А тогда ещё не до utf было.
как говорил перец из рокнролльщика
There is no school better than the old school, and I'm fucking Headmaster=)
There is no school better than the old school, and I'm fucking Headmaster=)
Ух ты. Спасибо, не знал. На будущее учту. :)
По привычке решал возникающие проблемы своими способами.
По привычке решал возникающие проблемы своими способами.
Спасибо, не знал.
Пожалуйста ;)
По привычке решал возникающие проблемы своими способами.
О да, я тоже люблю придумывать костыли :)
***
Кстати, спасибо и тебе: я вот как раз не мог понять, зачем welinux'у своя собственная Jabber конференция. Теперь понял.
Лично я перед тем, как придумывать костыль, гуглю и спрашиваю на irc://irc.turli.net/#linux и, если вопрос по Debian, на irc://irc.turli.net/#debian — там есть куча умных парней (а на #linux ещё и девушка :D), которые наверняка знают, как решить мою проблему без применения костылей :) Я достаточно долго сижу на этих каналах, уже освоился — я там, по сути, живу :D Для тех же, кому жить (в данном контексте, естественно) пока чт
Хех. Интересно.
Я тут, на welinux новый человек(сам должен был видеть - первый пост). Просто, решил поделиться решением проблемы.
Что касается гугла - на своём блоге я так и отметил, что надо сперва гуглить. А так же, что мой костыль был лишним после обсуждения на welinux.ru. Как я и говорил, старая привычка: не было у меня тогда интернетов, решалось всё самописными костылями. Поэтому списывайте этот пост на мой персональный (возможно, устаревший) способ решения проблем. Именно поэтому я не спрашивал на jabber-конференциях и irc-каналах. Уж так повелось, что спрашиваю только тогда, когда у самого тупик.
Так что не понимаю, в чём же я был виноват, написав. :)
P.S. Здесь нет возможности удалить свой пост, так что призываю только ставить минусы.
P.P.S. Я тоже постоянно сижу в irc на одном из посвящённых linux канале(даже оператором; говорят, за заслуги), но один человек знать всего не может...
Я тут, на welinux новый человек(сам должен был видеть - первый пост). Просто, решил поделиться решением проблемы.
Что касается гугла - на своём блоге я так и отметил, что надо сперва гуглить. А так же, что мой костыль был лишним после обсуждения на welinux.ru. Как я и говорил, старая привычка: не было у меня тогда интернетов, решалось всё самописными костылями. Поэтому списывайте этот пост на мой персональный (возможно, устаревший) способ решения проблем. Именно поэтому я не спрашивал на jabber-конференциях и irc-каналах. Уж так повелось, что спрашиваю только тогда, когда у самого тупик.
Так что не понимаю, в чём же я был виноват, написав. :)
P.S. Здесь нет возможности удалить свой пост, так что призываю только ставить минусы.
P.P.S. Я тоже постоянно сижу в irc на одном из посвящённых linux канале(даже оператором; говорят, за заслуги), но один человек знать всего не может...
Так что не понимаю, в чём же я был виноват, написав. :)
Кажется, я был понят неправильно =\
Кто тебя в чём обвинял? Я даже не подразумевал такого, честно…
Упоминание о гугле и ирц — это к рассказу о Jabber, а не к твоему посту. Я потому там три звёздочки и поставил — типа смена темы, вот.
Кстати, может быть, стоит попросить у nvbn тег offtopic? :D
Здесь нет возможности удалить свой пост, так что призываю только ставить минусы.
Я не минусовал и не собираюсь.
Кстати, может быть, стоит попросить у nvbn тег offtopic? :D<\qoute>
Я не против. :)
Я не против. :)
Написал письмо, поглядим :)
Хотя не думаю, что его реализуют скоро — есть более важные задачи.
Хотя не думаю, что его реализуют скоро — есть более важные задачи.
А я решил проблему другим способом - подмонтировал диск сам себе через samba с принудительным выбором кодировки и копирнул всё в правильной кодировке.
Но до сих пор одной проге (WASTE) нужно файло отдавать в кодировке koi8-r, поэтому я подмаунтил уже раздел UTF8 в кодировке koi8-r и стравил его этой проге, работает всё отлично.
Но до сих пор одной проге (WASTE) нужно файло отдавать в кодировке koi8-r, поэтому я подмаунтил уже раздел UTF8 в кодировке koi8-r и стравил его этой проге, работает всё отлично.
Выяснилось, что сделать можно было ещё проще.
В Debian есть для этого специальная утилита: utf8-migration-tool
В Debian есть для этого специальная утилита: utf8-migration-tool
А если koi8-r заменить на cp1251 - можно перекодировать названия mp3-файлов. Они обычно в cp1251 - даже с Jamendo.