UNIX/Linuxの部屋 qkcコマンドの使い方

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




コマンド qkc 文字コード (エンコーディング) を変換。改行コードを変換。 このエントリーをはてなブックマークに追加

最終更新


qkc コマンドは、nkf コマンドと同じく文字コード変換や改行コード変換を行うツールである。nkf コマンドと異なり、ファイルを直接更新 (上書き) することができるので便利であったが、1995年頃の初期バージョン 1.0.0 から更新されておらず、UTF-8 などの Unicode 対応もなされていない (改変不可のライセンスのため第三者の機能追加も期待できない)。2018年現在の nkf コマンドには上書き機能もあるので、今どき qkc コマンドを使用する必要はないであろうと当ページ管理人は考える。

ただし、FreeBSD の port/package には qkc コマンドがまだ残っているが、Linux 系 OS ではパッケージになく、自前でソースからコンパイルする必要があり、利用するにもハードルが高い。ちなみに qkc コマンドは Quick Kanji Code Converter の略。



qkc コマンドの基礎
qkc コマンドは nkf コマンドと似たような書式を持つが、
% qkc -j file
とすると nkf とは違って、引数で指定したファイル自体を書き換える。ワイルドカードを使って
% qkc -j *.txt
とすると、各ファイルごとに変換を行う。

qkc コマンドのオプション
qkc コマンドのオプションは以下の通り。
-j JIS コードに変換
-s SJIS コードに変換
-e EUC コードに変換
-O nkf のように、変換済みコードは標準出力に書き出される
また、改行コードの変換もできる。
-m 改行コードを CR LF (MS-DOS の改行コード) に変換
-u 改行コードを LF (UNIX の改行コード) に変換
-ma 改行コードを CR (Mac の改行コード) に変換
-z ファイルの末尾についている ^Z を取り除く

qkc コマンドの実行例
UNIX → MS-DOS (SJIS、改行コードは CR LF)
% qkc -sm sample.unix > sample.msdos
MS-DOS → UNIX (JIS、改行コードはLF)
% qkc -ju sample.msdos > sample.unix
UNIX → Mac (SJIS、改行コードはCR)
% qkc -sma sample.unix > sample.mac
Mac → UNIX (JIS、改行コードはLF)
% qkc -ju sample.mac > sample.unix