5

私はロシア語(そしていくつかのスロベニア語とギリシャ語)のファイル名をたくさん持っています。私の車でそれらを再生するには、曲のタイトルに西ヨーロッパの文字のみを使用する必要があります。

  1. このファイルの名前変更を実行できるプログラムはありますか?

  2. そうでない場合は、キリル文字とギリシャ文字のそれぞれに使用する文字のリストはありますか?

ありがとう-デイブ

4

6 に答える 6

3

den4bによるReNamerと呼ばれる無料のプログラムを試してみてください。

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

于 2013-02-07T13:39:59.827 に答える
3

この目的のために、音訳を実行するためuconvのパッケージに基づいてシェルスクリプトを作成しました。icu-devtools

for f in "$@"
do
    if [ ! -f "$f" ]; then
        echo "$(basename $0) warn: this is not a regular file (skipped): $f" >&2
        continue
    fi

    NEWFILENAME="$(basename "$f")"
    NEWFILENAME="$( echo -n "$NEWFILENAME" | { transliterate || uconv -x 'Any-Latin;Latin-ASCII' || cat ; } )" # convert non-latin chars using my transliterate script OR uconv from the icu-devtools package
    NEWFILENAME="$( echo -n "$NEWFILENAME" | iconv -f UTF-8 -t ascii//TRANSLIT//IGNORE )"
    NEWFILENAME="$( echo -n "$NEWFILENAME" | tr -c '[A-Za-z0-9._\-]' '_' \
        | tr '\[\]' '_' \
        | sed -e 's/__*/_/g' \
        | sed -e 's/_\././g' )"
    # TODO: remove all dots except the last?
    
    if [ -f "$(basename $f)/$NEWFILENAME" ]; then
        echo "$(basename $0) warn: target filename already exists (skipped): $(basename $f)/$NEWFILENAME" >&2
        continue
    fi
    if [ "$(basename $f)" != "$NEWFILENAME" ]; then
        echo "\`$f' -> \`$NEWFILENAME'"
        mv -i "$f" "$NEWFILENAME"
    fi
done
于 2016-04-06T07:19:02.847 に答える
2

これはロシア語の音訳表です。

Pythonがインストールされている場合は、次のスクリプトを使用できます。

それはかなり良い仕事をしているようです、そしてまたあなたはそれをあなたの必要に応じて変えることができます。それは私にとって箱から出してうまくいきませんでした、私はencode次の2行(前に与えられた行番号)から呼び出しを削除しなければなりませんでした:

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.pychmod u+x transliterate.pyいます)。

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

お役に立てれば。

于 2012-03-03T01:11:41.643 に答える
2

これは、ファイルの名前をlatinに変更し、古いものを削除する改良されたpythonスクリプトです。さらに、すべてのスペースをアンダースコア文字に置き換えます。

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

于 2015-03-14T20:44:30.367 に答える
1

デビッド、

私はそれを自動的に実行するプログラムを知りません(以下の情報を与えられたとしても、ピザと引き換えにコンピューターオタクの友人にそれを実行してもらうことができると思います)。実際、プログラムは実際にはそうではありません。 Perlで書くのは難しい。

いずれにせよ、キリル文字、スロベニア文字、ギリシャ文字のそれぞれに使用する文字を選択するのに役立つ情報がいくつかあります。

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

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

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

それが少し役立つことを願っています!

于 2012-03-03T00:58:45.710 に答える
0

また、サードパーティのパッケージに依存しない単純なシェルスクリプトsedも作成しましたが、これはほとんどのLinuxディストリビューションにデフォルトでインストールされているはずです。

デフォルトではキリル文字のみを音訳しますが、上記のWikipediaの記事へのリンクを使用してギリシャ文字で簡単に拡張できます-http://en.wikipedia.org/wiki/Romanization_of_Greek

于 2019-02-20T21:25:09.943 に答える