- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2017-12-31T01:22:14+09:00","","")
#author("2020-06-08T21:02:50+09:00","","")
Cygwinにnkfをインストールする手順
#navi(../)
* Cygwinにnkfをインストール [#jdecf4bb]
Cygwinのパッケージにnkfがなかったので、ソースからコンパイルしてみました。~
以下にnkfソースの入手からコンパイル、実行までを記します。
#contents
#htmlinsertpcsp(win-top.html,win-sp.html)
* nkfソースの入手 [#o9d0c4e1]
以下のURLからnkfのソースコードをダウンロードします。~
[[nkf Network Kanji Filter>https://ja.osdn.net/projects/nkf/]]~
https://ja.osdn.net/projects/nkf/
本記事作成時、以下のファイルが最新バージョンでした。~
nkf-2.1.4.tar.gz
* 事前準備 [#kd817517]
gccとmakeをインストールしておいてください。
gcc-coreとmakeをインストールしておいてください。
* nkfのコンパイル [#tec2dbaa]
ダウンロードしたnkfのソースコードアーカイブを$HOME(~)に保存しコンパイルしてみます。
+ ブラウザでダウンロードしたnkfのソースコードアーカイブを$HOMEにコピーしました。~
ユーザ名は読み替えてください。
cp /cygdrive/c/Users/sutot/Downloads/nkf-2.1.4.tar.gz $HOME/.
#br
+ダウンロードしたファイルを展開します。
tar zxvf nkf-2.1.4.tar.gz
#br
+ 展開したnkfディレクトリにcdします。
cd nkf-2.1.4
#br
+ makeコマンドを実行します。
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
#br
+ 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
#br
+ nkfコマンドがインストールされているか確認します。
which nkf
以下の出力がされます。(usr/local/binにインストールされてるのが確認できます。)
$ which nkf
/usr/local/bin/nkf
#br
+ コンパイルに使用したディレクトリおよびファイルを削除する~
nkfが/usr/local/binにインストールされたので、不要になったファイルを削除します。~
cd ..
rm -fr nkf-2.1.4.tar.gz nkf-2.1.4
* nkfを使ってみる [#w9da8ab8]
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コマンドをコンパイルする方法でした。
#htmlinsertpcsp(win-btm.html,win-sp.html)