| ホーム >> | UNIX >> | nkf |
nkfはテキストファイルの文字コードを変換したり,判別することのできるプログラムです. 現在SourceForge.jpで管理されているので,ソースプログラムもそこから取得することができます.
SourceForge.jpからプログラムソースnkf-2.1.0.tar.gzを取得します.インストール方法は,README.jにかかれていますが,基本的にはそのままコンパイルするだけです.
$ cd nkf-2.1.0/
$ make
$ sudo make install
nkfはもともとフィルターとして作られているためか,文字コードの変換結果は標準出力に出力されます.
例えば,sample.txtというテキストファイルをSJISに変換する場合にはリダイレクトで出力ファイルを指定する必要があります.
$ nkf -s sample.txt > sjis.txt出力ファイル名に対して入力ファイルと同じファイル名を指定してしまうと,ファイルの中身がなくなってしまうので注意しましょう.
もしファイル名をそのままで文字コードだけ変換したい場合には,オプション--overwriteを付けます.
$ nkf -s --overwrite sample.txt
$ nkf -j sjis.txt > jis.txt
$ nkf -s jis.txt > sjis.txt
$ nkf -e jis.txt > euc.txt
$ nkf -w jis.txt > euc.txt
オプション -L[uwm] を付けます。u(UNIX)はLF、w(Windows)はCRLF、m(Mac)はCRを意味します。
% nkf -Lu file.txt > newfile.txt
$ nkf -g sample.txt
一括してファイルを変換したいとき、例えば "*.txt" というファイルを全て文字コードEUC、改行コードLFにする場合には、シェルスクリプトを用いて,
% foreach f ( *.txt )とします。
foreach -> nkf -e -Lu $f > $f.tmp
foreach -> mv $f.tmp $f
foreach -> end
別のディレクトリに保存したいなら、
% cd some_dir/とします.
% foreach f ( *.txt)
foreach -> nkf -e -Lu $f > $f.tmp
foreach -> mv $f.tmp ../other_dir/$f
foreach -> end