#author("2020-06-08T20:55:21+09:00;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
 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)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS