$ nkf [オプション] 変換元ファイル |
Linux で使用される文字コードや改行コードは、Windows や MacOS で使用されているものと異なります。そのために、Windows や MacOS で編集していたテキストファイルを Linux で参照しようとすると、文字コードの違いによりアプリケーションによっては文字化け等の不具合を起こすことがあります。また、Windows で作成したテキストファイルを Linux で参照すると改行コードの違いにより ^M と行末に表示されてしまうことなどもあります。各プラットフォームにおける文字コードと改行コードは次のようになっています。
このような各プラットフォームにおけるテキストファイルの違いを変換するためのコマンドが nkf です。
代表的なオプションを以下に示します。
表 6-6. nkf コマンドのオプション
| -j | JIS コードに変換して出力します。 |
| -s | シフト JIS コードに変換して出力します。 |
| -e | 日本語 EUC コードに変換して出力します。 |
| -d | 行末の CR を削除して出力します。 |
| -c | 行末の CR を追加して出力します。 |
| -Lu | 行末を LF にして出力します。 |
| -Lw | 行末を CRLF にして出力します。 |
| -Lm | 行末を CR にして出力します。 |
| -x | X0201(半角カナ)を変換しません。デフォルトは半角カナを全角に変換して出力します。 |
| -J | 入力コードを JIS と指示します。 |
| -S | 入力コードをシフトJIS と指示します。 |
| -E | 入力コードを日本語EUC と指示します。 |
| --unix | 行末にある改行コードを LF に変更し、EUC で出力します。 |
| --windows | 行末にある改行コードを CR+LF に変更し、シフトJIS で出力します。 |
| --mac | 行末にある改行コードを CR に変更し、シフトJIS で出力します。 |
通常は、--unix、--windows、--mac オプションを使すれば簡単にファイルの変換が行えます。
例えば、Windows 環境におけるテキストファイル(readme.sjis)を Linux 環境におけるテキストファイル(readme.euc)として変換し保存するには、次のコマンドを実行します。
$ nkf --unix readme.sjis > readme.euc |
逆に、Linux 環境におけるテキストファイルを Windows 環境におけるテキストファイルとして変換し保存するには、次のコマンドを実行します。
$ nkf --windows readme.euc > readme.sjis |