nkf
は日本語の文字コードを変換するコマンドだ。manを見るといろいろできるのだが、UTF-8が一般的な今では、以下3つの使い方を覚えておけば十分だろう。
UTF-8への変換
nkf -w FILE
FILEの内容をUTF-8に変換して標準出力する。 nkfはFILEを与えないと、標準入力を読み込む。これは非UTF-8のコマンドの出力をUTF-8化してターミナルで確認する場合に良く使う。
cat FILE | nkf -w
ファイルの上書き
nkf --overwrite -w FILE
前の例の応用だ。--overwrite
オプションを指定すると、変換結果でファイルを置き換えることができる。もちろん元のファイルは残らないので使用には注意が必要だ。
元のファイルを保持したい場合は、--overwrite=SUFFIX
を使うと変換結果を別のファイルに保存することもできる。以下の例ではFILEの変換結果を、FILE.utf8に保存する。
nkf --overwirte=.utf8 -w FILE
文字コードの判別
これまでの例で出力先の文字コードを指定するだけでUTF-8化できるのは、nkfが内部で変換元の文字コードを判別しているからに他ならない。 nkfの文字コード自動判別機能を使えば、未知のエンコードのファイルがあったとしても、その文字コードが何か知ることができる。
nkf -g FILE