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 > $tmpfilenkf のオプションを適切に書き換えることで、 toutf8 コマンドだけでなく、tosjis とか toeuc といったコマンドをつくることができます。
nkf のインストール
- http://sourceforge.jp/projects/nkf/ にアクセス
- nkf-2.0.8b.tar.gz をダウンロード
- 展開して、 make ; make test
生成された nkf.exe をパスの通った場所にコピー
$ tar xfz nkf-2.0.8b.tar.gz $ cd nkf-2.0.8 $ make $ make test $ cp -av nkf.exe ~/bin/
※ ~/bin/ はパスが通っていることを前提にしています。