Преобразование имен файлов для использования только латинских символов - PullRequest
4 голосов
/ 03 марта 2012

У меня есть тонна имен файлов на русском языке (и некоторые словенские и греческие). Для воспроизведения их в моей машине в названиях песен должны использоваться только западноевропейские символы.

  1. Существует ли программа, которая может переименовать этот файл?

  2. Если нет, есть ли список, какие буквы использовать для каждой кириллицы и греческой буквы?

спасибо - Дейв

Ответы [ 6 ]

2 голосов
/ 14 марта 2015

Вот улучшенный скрипт Python, который переименовывает файл в латиницу и удаляет старые, а также заменяет все пробелы символом подчеркивания.

https://gist.github.com/braman/a8504c15ca537ea49c6a

2 голосов
/ 07 февраля 2013

Попробуйте бесплатную программу под названием ReNamer от den4b, отлично сработавшую для меня.

http://www.den4b.com/?x=products

2 голосов
/ 03 марта 2012

Это русская таблица транслитерации:

Если у вас установлен python, вы можете использовать этот скрипт:

Похоже, что он неплохо справляется, и вы можете изменить его в соответствии со своими потребностями.Это не сработало из коробки, мне пришлось удалить вызов encode из следующих двух строк (номера строк указаны впереди):

117 print fpath.encode('utf-8')
136 print 'Copying %s to %s' % (fpath.encode('utf-8'), new_fpath)

т.е. изменить на:

117 print fpath
136 print 'Copying %s to %s' % (fpath, new_fpath)

, но потом работал нормально, например (при условии, что вы поместили скрипт из вышеприведенного с изменениями, внесенными в файл в той же папке с именем transliterate.py, а затем chmod u+x transliterate.py, чтобы сделать его исполняемым):

$ mkdir a
$ touch a/сказать
$ ./transliterate.py a
a/сказать
Copying a/сказать to a/skazat'

Надеюсь, это поможет.

1 голос
/ 06 апреля 2016

Я сделал скрипт для этой цели .

Используется uconv из пакета icu-devtools для выполнения транслитерации.

1 голос
/ 03 марта 2012

David

Я не знаю ни одной программы, которая будет делать это автоматически (хотя, учитывая приведенную ниже информацию, держу пари, вы могли бы попросить друга-компьютерщика сделать это за вас в обмен на пиццу.) На самом деле программа действительно не так сложно писать на Perl.

В любом случае, вот некоторая информация, которая поможет вам выбрать, какие буквы использовать для каждой буквы кириллицы, словенской и греческой букв.

http://en.wikipedia.org/wiki/Romanization_of_Russian

http://en.wikipedia.org/wiki/Slovene_alphabet

http://en.wikipedia.org/wiki/Romanization_of_Greek

Надеюсь, это немного поможет!

0 голосов
/ 21 февраля 2019

Я также сделал простой сценарий оболочки , который не зависит от какого-либо стороннего пакета, кроме sed, но он должен быть установлен по умолчанию в большинстве дистрибутивов Linux.

По умолчаниюон транслитерирует только кириллицу, но вы можете легко расширить его греческими символами, используя приведенную выше ссылку на статью в Википедии - http://en.wikipedia.org/wiki/Romanization_of_Greek

...