トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

文字コード変換

 Linuxには文字コードや改行コードを変換するコマンド「nkf」が含まれます。nkfの使用例を示しましょう。例えば,Windows上で作成したテキスト・ファイル「sample.txt」をFedora Coreのデフォルトの端末エミュレータ上でcatコマンドを用いて表示すると,写真A-1[拡大表示]のようになり,日本語文字が化けています。そこで,nkfコマンドでファイル「sample.txt」の文字コードをUTF-8,改行コードをLFに変換します。変換先のファイル名は「sample_u.text」とします(nkfは変換後のテキストを標準出力に出力しますので,ファイルにリダイレクションします)。

$ nkf -w -Lu samba.txt > sample_u.text

ここで,コマンド行オプション「-w」は文字コードをUTF-8に変換する指定,「-Lu」は改行コードをLFに変換する指定です。Vine Linuxでは,日本語文字コードは日本語EUCですので,コマンド行オプション「-u」の代わりに「-e」を指定します。改行コードはFedora Core 3の場合と同じです。変換後のファイルをcatコマンドで表示すると,文字化けしていないことが分かります。

 また,Fedora Coreで作成したテキスト・ファイル「sample.text」をWindows上で文字化けせずに表示できるファイル(ファイル名は「sample_s.txt」)に変換するには,

$ nkf -s -Lw sample.text > sample_s.txt

と入力します。「-s」は文字コードをシフトJISに変換する指定,「-Lw」は改行コードをCR+LFに変換する指定です。

 まとめて一括変換する場合

find -name '*.cc' | xargs nkf --overwrite -w

 半角カナを維持する

http://d.hatena.ne.jp/itiri/20080301/1204369502
オプションを指定しないと、半角カナは全角カナになる。

nkf -xwLu ms-ime.txt > msime.txt

のように -x をつけると、半角カナを維持する。

[カテゴリ: OS > Linux]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2012年06月14日 22時50分22秒