inkf は、nkf-2.x互換の文字コード変換コマンドです。Shift_JIS, ISO-2022-JP, EUC-JP(CP51932, EUCJP-MS), UTF-8, UTF-7, UTF-7-IMAP, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE, EUC-KR, GB18030, BIG5, ISO-8859-*, KOI8, CP1251, CP1252, CP1258等が扱えます。
また、iconvコマンドの-f, -tオプションと互換性があります。
iconvやnkfなどのライブラリには依存していません。
UTF-16サロゲートペア、3バイトEUC-JP、半角カナ、GB18030 2004に対応しています。
文字セットを指定すると、必ず上位の文字集合で変換が行われます。
改行コード変換、MIMEエンコード/デコードなどの基本機能は持っていますが、その他の細かい機能で省略しているものがあります。
おまけで、http, https (要openssl), ftpでのファイル取得機能、およびマルチトラック対応の MIDI ファイル作成機能がついています。
http, httpsでのファイル取得機能はリダイレクトに対応しているため、OSDNからのファイルダウンロードがwgetよりも簡単に行えます。
例1) Shift_JIS から UTF-8 に変換
cat sjisfile.txt | inkf -Sw > utf8file.txt
例2) 指定の URL から HTML を取得してプレーンテキストに変換し EUC-JP で出力
inkf -e --html-to-plain http://www.example.com/
例3) MIDI ファイル(ドレミ)を作成
echo "cde" | inkf -O --midi mymusic.mid
GNU/Linux x86 上の GCC (g++) 2.95.3 でコンパイル・動作を確認しました。
* MacOSX、Solaris、各種BSD 等でも動作すると思います。