先日、テキストファイルの文字コード変換を行うスクリプトを学習しましたが、実際に変更できているのかどうかを確認するにはどうしたらいいのでしょう?
ということで調べてみたところ、fileコマンドに-iオプションをつけることで調べられることがわかりました。
そこで適当なテキストファイルをviで作成して保存(test.txtとします)。
$ file -i test.txt
test.txt: text/plain; charset=utf-8
作成したてのテキストファイルはデフォルトのUTF-8であることがわかりました。このファイルを前回のスクリプトにかけて文字コードを変換し、確認してみます。
$ sh kanji.sh test.txt
1) UTF-8
2) EUC
3) Shift-JIS
4) JIS
#? 4
$ file -i test.txt
test.txt: text/plain; charset=us-ascii
コードをJISに変更するとus-asciiになるようですね。
ちなみに、EUCに変換するとcharset=iso-8859-1に、Shift-JISに変換するとcharset=unknown-8bitと表示されました。それぞれの文字列と同じように表示してほしいところですが、ひとまず文字コードの変換は行われているようです。
テキスト通りに記述しているだけとは言え、自分なりに理解しながら行っているのでちゃんと動いている(らしい)ことがわかるのはやっぱり嬉しいものですね(^ ^)