Видео смотреть бесплатно

Смотреть русское видео

Официальный сайт filipoc 24/7/365

Смотреть видео бесплатно

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


Теперь собственно скрипт:

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash

#

STRN=$2



for((i=1;i<=$STRN;i++)) do

# Получаем каждое определённое имя файла в UTF по очереди.

UTFNAME=`cat tmpfile | iconv -f koi8-r -t utf-8 | tail -n ${i} | head -n 1`

# Получаем каждое отдельное текущее имя файла

KOI8NAME=`ls -1 ${1} | tail -n ${i} | head -n 1`

rename ${1}"${KOI8NAME}" new/"$UTFNAME"

done





Число STRN - количество файлов из листинга. Это число можно получить с помощью cat -n tmpfile. Директорию new создал руками. Всё. После отработки скрипта(в качестве первого аргумента даём ему tmpdir, а второго -количество файлов), в new будут лежать все наши файлики с именами в utf-8.



P.S. Перемещать файлы, предназначенные для переименования во временную директорию надо только с помощью cp! Никаких mc.



(c) http://cppmm.blogspot.com/


Тэги: debian shell
+ 1 -
Похожие Поделиться

Kraplax 12.03.2009 15:38 #
+ 0 -
Просьба - вставь где-нить после первого-второго абзаца
cppmm 12.03.2009 15:44 #
+ 0 -
А. Понял. Почему-то решил, что на главную автоматом кусочек отрезается. Учту на будущее.
Username 12.03.2009 15:51 #
+ -1 -
дааа, пора в 2009-ом году уходить с КОИ-8 ;)
cppmm 12.03.2009 15:59 #
+ 1 -
Ну, просто система ещё со времён Sarge без переустановки. Только обновления. :) А тогда ещё не до utf было.
Username 12.03.2009 16:20 #
+ -1 -
как говорил перец из рокнролльщика
There is no school better than the old school, and I'm fucking Headmaster=)
Minoru 12.03.2009 16:17 #
+ 1 -
convmv
Или нельзя? Если да, по почему?
assaron 12.03.2009 17:01 #
+ 0 -
тоже самое подумал
cppmm 13.03.2009 00:33 #
+ 0 -
Ух ты. Спасибо, не знал. На будущее учту. :)
По привычке решал возникающие проблемы своими способами.
Minoru 13.03.2009 16:07 #
+ 0 -
Спасибо, не знал.

Пожалуйста ;)

По привычке решал возникающие проблемы своими способами.

О да, я тоже люблю придумывать костыли :)

***

Кстати, спасибо и тебе: я вот как раз не мог понять, зачем welinux'у своя собственная Jabber конференция. Теперь понял.
Лично я перед тем, как придумывать костыль, гуглю и спрашиваю на irc://irc.turli.net/#linux и, если вопрос по Debian, на irc://irc.turli.net/#debian — там есть куча умных парней (а на #linux ещё и девушка :D), которые наверняка знают, как решить мою проблему без применения костылей :) Я достаточно долго сижу на этих каналах, уже освоился — я там, по сути, живу :D Для тех же, кому жить (в данном контексте, естественно) пока чт
cppmm 13.03.2009 19:30 #
+ 0 -
Хех. Интересно.
Я тут, на welinux новый человек(сам должен был видеть - первый пост). Просто, решил поделиться решением проблемы.

Что касается гугла - на своём блоге я так и отметил, что надо сперва гуглить. А так же, что мой костыль был лишним после обсуждения на welinux.ru. Как я и говорил, старая привычка: не было у меня тогда интернетов, решалось всё самописными костылями. Поэтому списывайте этот пост на мой персональный (возможно, устаревший) способ решения проблем. Именно поэтому я не спрашивал на jabber-конференциях и irc-каналах. Уж так повелось, что спрашиваю только тогда, когда у самого тупик.
Так что не понимаю, в чём же я был виноват, написав. :)

P.S. Здесь нет возможности удалить свой пост, так что призываю только ставить минусы.
P.P.S. Я тоже постоянно сижу в irc на одном из посвящённых linux канале(даже оператором; говорят, за заслуги), но один человек знать всего не может...
Minoru 13.03.2009 19:38 #
+ 0 -
Так что не понимаю, в чём же я был виноват, написав. :)

Кажется, я был понят неправильно =\
Кто тебя в чём обвинял? Я даже не подразумевал такого, честно…
Упоминание о гугле и ирц — это к рассказу о Jabber, а не к твоему посту. Я потому там три звёздочки и поставил — типа смена темы, вот.
Кстати, может быть, стоит попросить у nvbn тег offtopic? :D

Здесь нет возможности удалить свой пост, так что призываю только ставить минусы.

Я не минусовал и не собираюсь.
cppmm 13.03.2009 20:20 #
+ 0 -
Кстати, может быть, стоит попросить у nvbn тег offtopic? :D<\qoute>
Я не против. :)
Minoru 13.03.2009 20:45 #
+ 0 -
Написал письмо, поглядим :)
Хотя не думаю, что его реализуют скоро — есть более важные задачи.
Murz 13.03.2009 08:40 #
+ 0 -
А я решил проблему другим способом - подмонтировал диск сам себе через samba с принудительным выбором кодировки и копирнул всё в правильной кодировке.
Но до сих пор одной проге (WASTE) нужно файло отдавать в кодировке koi8-r, поэтому я подмаунтил уже раздел UTF8 в кодировке koi8-r и стравил его этой проге, работает всё отлично.
zb 13.03.2009 15:05 #
+ 0 -
была кажется iconv fusefs, если нет, то можно написать, я думаю.
cppmm 16.03.2009 22:00 #
+ 2 -
Выяснилось, что сделать можно было ещё проще.
В Debian есть для этого специальная утилита: utf8-migration-tool
lol2Fast4U 31.05.2009 22:43 #
+ 0 -
А если koi8-r заменить на cp1251 - можно перекодировать названия mp3-файлов. Они обычно в cp1251 - даже с Jamendo.

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн