windows-1252
windows-1251
次のマッピングを実行したいと思います。
sed 's/[ÉÖÓÊÅÍÃØÙÇÕÚÔÛÂÀÏÐÎËÄÆÝß×ÑÌÈÒÜÁÞ¸éöóêåíãøùçõúôûâàïðîëäæýÿ÷ñìèòüáþ]/[ЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБёйцукенгшщзхъфывапролджэячсмитьбю]/g' input.py > input.py
次のように文字を1つずつ変更できます。
sed 's/î/о/g' input.py > output1.py
sed 's/è/и/g' output1.py > input.py
しかし、一度にすべての文字を変更する文字マッピング構文は何ですか?
答え1
それがtr
目的です。これが実際に変更したい文字であり、エンコードの問題ではないと仮定すると、必要なものは次のとおりです。
tr '¨ÉÖÓÊÅÍÃØÙÇÕÚÔÛÂÀÏÐÎËÄÆÝß×ÑÌÈÒÜÁÞ¸éöóêåíãøùçõúôûâàïðîëäæýÿ÷ñìèòüáþ' \
'ЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮёйцукенгшщзхъфывапролджэячсмитьбю' < input.py > output.py
しかし、あなたが望むものが文字ではなくファイルのエンコーディングを変更することだと思います。サンプルファイルがないとこれはテストできませんが、おそらく次のようになります。
iconv -f windows-1252 -t windows-1251 input.py > output.py