[bash] UTF-8 > translit

Fragaria

Можно ли каким-нибудь стандартным методом типа iconv или чем-то подобным перекодировать русские буквы из UTF-8 в транслит? А то есть скрипт для амарока, который на дисплей клавиатуры G15 выводит текущую песню, но UTF8 он не понимает, и русские буквы тоже, в любой кодировке =(

serega1604

iconv -f utf-8 -t koi-7
не спасает?

Fragaria

отлично :) но не спасает =( нужно, чтобы латиницу пропускал безболезненно при этом.

Fragaria

Я вот что нашёл:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from pytils import translit

print translit.translify(u"Строка")

А вот как вместо u"Строка" вставить параметр, передаваемый шелл-скрипту, не знаю. тупое sys.argv[1] выдаёт ошибку (string вместо unicode)

tokuchu

выдаёт ошибку (string вместо unicode)
Наверное как-то можно сконвертить строку в иникодную строку в петоне.

spitfire

unicode("foo" вестимо.

serega1604

а конвертить в koi8 и написать за одну минуту прогу на C, которая будет из koi8 переводить в транслит не катит?

rosali

по идее полезнее ставить туда не параметр скрипта, а обрабатывать stdin?

vall

woody:~$ echo Съешь ещё этих мягких французских булок, да выпей чаю. | konwert utf8-ascii/rosyjski
Sjesz jeszczo etich miagkich francuzskich bulok, da wypiej czaju.
koi-7 это весьма убогий транслит — буква <-> буква не все корректно передаёт без путаницы.

vall

но для твое случая имхо проще замапить в графически похожие символы
woody:~$ echo тест | trs -e 'е e т t с c'
tect
Оставить комментарий
Имя или ник:
Комментарий: