Index > Cygwinでnkfを導入、テキストファイルの文字コードをUTF-8に変換するコマンド toutf8 の作成(cygwin,nkf)
Wed, January 7, 2009

Cygwinでnkfを導入、テキストファイルの文字コードをUTF-8に変換するコマンド toutf8 の作成(cygwin,nkf)

JIS,SJIS,EUC,UTF-8等任意日本語文字コードのテキストファイルをUTF-8に変換するときに 使用するスクリプト。

code

toutf8

#!/bin/bash

tmpfile="$HOME/.tmpfile"

if [ -z $1 ]
then 
        echo error
else
        nkf -w $1 > $tmpfile
        cp $tmpfile $1
        rm $tmpfile
fi

このスクリプトをパスの通った場所に配置しておけば、以下のようにして、 テキストファイル(foo.txt)の文字コードをUTF-8に変換できる。

$ toutf8 foo.txt

ただし、このスクリプトは、nkfに依存している。 Cygwinのパッケージには nkf がないので、別途入手してインストールする必要がある。

その他の文字コードへの変換

nkf の対応している文字コードであれば相互に変換可能です。

 nkf -w $1 > $tmpfile

nkf のオプションを適切に書き換えることで、 toutf8 コマンドだけでなく、tosjis とか toeuc といったコマンドをつくることができます。

nkf のインストール

  1. http://sourceforge.jp/projects/nkf/ にアクセス
  2. nkf-2.0.8b.tar.gz をダウンロード
  3. 展開して、 make ; make test
  4. 生成された nkf.exe をパスの通った場所にコピー

    $ tar xfz nkf-2.0.8b.tar.gz $ cd nkf-2.0.8 $ make $ make test $ cp -av nkf.exe ~/bin/

※ ~/bin/ はパスが通っていることを前提にしています。

 Twitter
follow me on Twitter
 Categories