Cygwinにnkfをインストールする手順
Cygwinにnkfをインストール †
Cygwinのパッケージにnkfがなかったので、ソースからコンパイルしてみました。
以下にnkfソースの入手からコンパイル、実行までを記します。
nkfソースの入手 †
以下のURLからnkfのソースコードをダウンロードします。
nkf Network Kanji Filter
https://ja.osdn.net/projects/nkf/
本記事作成時、以下のファイルが最新バージョンでした。
nkf-2.1.4.tar.gz
事前準備 †
gcc-coreとmakeをインストールしておいてください。
nkfのコンパイル †
ダウンロードしたnkfのソースコードアーカイブを$HOME(~)に保存しコンパイルしてみます。
- ブラウザでダウンロードしたnkfのソースコードアーカイブを$HOMEにコピーしました。
ユーザ名は読み替えてください。
cp /cygdrive/c/Users/sutot/Downloads/nkf-2.1.4.tar.gz $HOME/.
- ダウンロードしたファイルを展開します。
tar zxvf nkf-2.1.4.tar.gz
- 展開したnkfディレクトリにcdします。
cd nkf-2.1.4
- makeコマンドを実行します。
make
以下の出力がされます。
$ make
cc -g -O2 -Wall -pedantic -c nkf.c
cc -g -O2 -Wall -pedantic -c utf8tbl.c
cc -g -O2 -Wall -pedantic -o nkf nkf.o utf8tbl.o
- make install コマンドを実行します。
make install
以下の出力がされます。
$ make install
mkdir /usr/local/bin
mkdir: ディレクトリ `/usr/local/bin' を作成できません: File exists
make: [Makefile:49: install-main] エラー 1 (無視されました)
cp -f nkf /usr/local/bin/
mkdir /usr/local/man
mkdir /usr/local/man/man1
cp -f nkf.1 /usr/local/man/man1/
mkdir /usr/local/man/ja
mkdir /usr/local/man/ja/man1
cp -f nkf.1j /usr/local/man/ja/man1/nkf.1
- nkfコマンドがインストールされているか確認します。
which nkf
以下の出力がされます。(usr/local/binにインストールされてるのが確認できます。)
$ which nkf
/usr/local/bin/nkf
- コンパイルに使用したディレクトリおよびファイルを削除する
nkfが/usr/local/binにインストールされたので、不要になったファイルを削除します。
cd ..
rm -fr nkf-2.1.4.tar.gz nkf-2.1.4
nkfを使ってみる †
WindowsのipconfigをCygwinターミナルで実行するとSJISで出力されるため
文字化けが発生します。
$ ipconfig
Windows IP ▒\▒▒
▒C▒[▒T▒l▒b▒g ▒A▒_▒v▒^▒[ VirtualBox Host-Only Network:
▒ڑ▒▒ŗL▒▒ DNS ▒T▒t▒B▒b▒N▒X . . . . .:
ipconfigの出力をパイプを使いnkfコマンドに渡すことにより文字化けせずに出力されます。
$ ipconfig | nkf
Windows IP 構成
イーサネット アダプター VirtualBox Host-Only Network:
接続固有の DNS サフィックス . . . . .:
以上、Cygwinでnkfコマンドをコンパイルする方法でした。