MochiuWiki : SUSE, EC, PCB
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Linuxコマンド - nkfのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Linuxコマンド - nkf
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == 古くからUNIXの日本語環境ではEUC-JPが標準の文字コードとして使用されてきたが、近年ではLinuxの日本語環境はUTF-8が一般的になっている。<br> WindowsではShift-JISが標準であるため、これらの環境を同時に使用している場合、文字コードの理解と各種文字コードの相互変換作業が必要である。<br> <br><br> == nkfのインストール == ==== パッケージ管理システムからインストール ==== sudo zypper install nkf <br> ==== ソースコードからインストール ==== [https://osdn.net/projects/nkf/ OSDN]にアクセスして、nkfのソースコードをダウンロードする。<br> ダウンロードしたファイルを解凍する。<br? tar xf nkf-<バージョン>.tar.gz cd nkf-<バージョン> <br> 必要であれば、nkfのインストールディレクトリを設定する。<br> mkdir <nkfのインストールディレクトリ> sed -e 's/^prefix\ =/prefix\ =\ <nkfのインストールディレクトリ>/g' Makefile <br> nkfをビルドおよびインストールする。<br> make prefix=<nkfのインストールディレクトリ> -j $(nproc) make prefix=<nkfのインストールディレクトリ> install <br><br> == 使用されている文字コードの確認 == 使用されている文字コードを調べるには、<code>nkf</code>コマンドの<code>-g</code>オプションを使用する。<br> echo "string" | nkf -g nkf -g <ファイル名> <br> 以下の例では、文字コードの判別を行っている。<br> nkf -g Sample1.txt Shift_JIS # Sample1.txtはShift-JISで保存されたテキストファイル <br> nkf -g Sample2.txt EUC-JP # Sample2.txtはEUC-JPで保存されたテキストファイル <br> nkf -g Sample3.txt UTF-8 # Sample3.txtはUTF-8で保存されたテキストファイル <br><br> == 文字コードの変換 == 文字コードの変換を行うには、<code>nkf</code>コマンドの<code>-w</code>オプションを使用する。<br> echo "string" | nkf -w # -wオプションを指定する場合、変換後の文字コードはUTF-8になる nkf -w file <br> 文字コードを変換するには、<code>nkf</code>コマンドを使用してコマンドの標準入力に変換元文字列をパイプで接続する、<br> または、コマンドの引数に変換元ファイルを指定する。<br> <br> <code>nkf</code>コマンドの詳細は、以下のWebサイトを参照すること。<br> Manpage of NKF : http://manpages.ubuntu.com/manpages/hardy/ja/man1/nkf.1.html<br> <br><br> == Shift-JISからUTF-8への変換 == Shift-JISからUTF-8に変換するには、<code>nfk</code>コマンドの<code>-Sw</code>オプションを指定する。<br> nkf -Sw sjis.txt <br> <code>-S</code>オプションは、入力元の文字コードをShift-JISとするオプションであり、<br> <code>-w</code>オプションは、出力する文字コードをUTF-8とするオプションである。<br> したがって、<code>-Sw</code>オプションを指定する場合、変換対象文字列はShift-JISからUTF-8に変換される。<br> <br> なお、変換元の文字コードの指定(<code>-S</code>オプション)は省略することができる。<br> 省略する場合、変換元の文字コードを<code>nkf</code>コマンドが自動的に判別して変換が行われる。<br> <u>ただし、確実な変換を行うため、変換元の文字コードが確定している場合は、明示的に変換元の文字コードを指定した方がよい。</u><br> <br> 以下の例では、<code>nkf</code>コマンドを使用して、EUC-JPのファイルをUTF-8に変換している。(ターミナルの文字コードはUTF-8とする)<br> cat sjis.txt アフt@C ?カR[hヘ Shift-JIS ?キB # ファイルの文字コードがShift-JISであるため、UTF-8のターミナルで表示すると文字化けする <br> nkf -Sw sjis.txt サンプルです # nkfコマンドでUTF-8に変換すると正常に表示される <br> nkf -w sjis.txt サンプルです # 変換元の文字コードの指定(-Sオプション)は省略可能だが、可能な限り明示的に指定する方がよい <br><br> == EUC-JPからUTF-8への変換 == EUC-JPからUTF-8に変換するには、<code>nfk</code>コマンドの<code>-Ew</code>オプションを指定する。<br> nkf -Ew euc-jp.txt <br> <code>-E</code>オプションは、入力元の文字コードをEUC-JPとするオプションであり、<br> <code>-w</code>オプションは、出力する文字コードをUTF-8とするオプションである。<br> したがって、<code>-Ew</code>オプションを指定する場合、変換対象文字列はEUC-JPからUTF-8に変換される。<br> <br> 以下の例では、<code>nkf</code>コマンドを使用して、Shift-JISのファイルをUTF-8に変換している。(ターミナルの文字コードはUTF-8とする)<br> cat euc-jp.txt 、ウ、Υ?。・、・・ホハクサウ。シ・ノ、マ EUC-JP 、ヌ、ケ。」 # ファイルの文字コードがEUC-JPであるため、UTF-8のターミナルで表示すると文字化けする <br> nkf -Ew euc-jp.txt サンプルです # nkfコマンドでUTF-8に変換すると正常に表示される <br> nkf -w euc-jp.txt サンプルです # 変換元の文字コードの指定(-Eオプション)は省略可能だが、可能な限り明示的に指定する方がよい <br><br> == 改行コード == UNIX / Linux / Windowsの複合環境でテキストを扱う場合、文字コードの他に改行コードにも注意する必要がある。<br> <br> 以下に、各OSで使用されている改行コードを示す。<br> * UNIX / Linux / MacOS X以降 *: LF * Windows *: CR+LF * MacOS X以前のMac *: CR <br> ==== 改行コードの確認 ==== 使用されている文字コードを調べるには、<code>file</code>コマンドを使用する。<br> file <ファイル名> <br> 以下の例では、改行コードの判別を行っている。<br> file Sample1.txt Sample1.txt: ASCII text # ファイルの改行コードはLFである (UNIX / Linux / MacOS X 形式) <br> file Sample2.txt Sample2.txt: ASCII text, with CRLF line terminators # ファイルの改行コードはCR+LFである (Windows形式) <br> file Sample3.txt Sample3.txt: ASCII text, with CR line terminators # ファイルの改行コードはCRである (旧 MacOS形式) <br> ==== 改行コードをLFに変換する ==== 改行コードをLFに変換するには、<code>nkf</code>コマンドの<code>-Lu</code>(もしくは、<code>-d</code>)オプションを使用する。<br> nkf -Lu textfile nkf -d textfile <br> 以下の例では、改行コードの変換を行っている。<br> file Sample1.txt Sample1.txt: ASCII text, with CRLF line terminators # 変換元ファイルの改行コードはCR+LFである (Windows形式) nkf -Lu Sample1.txt > temp.txt # nkfコマンドの-Luオプションで改行コードをLFに変換して、結果をtemp.txtファイルに保存 file temp.txt temp.txt: ASCII text # fileコマンドで変換結果を確認すると、改行コードがLFに変換されていることを確認できる <br> ==== 改行コードをCR+LFに変換する ==== 改行コードをCR + LFに変換するには、<code>nkf</code>コマンドの<code>-Lw</code>(もしくは、<code>-c</code>)オプションを使用する。<br> nkf -Lw textfile nkf -c textfile <br> 以下の例では、改行コードの変換を行っている。<br> file lf.txt lf.txt: ASCII text # ファイルの改行コードはLFである (UNIX / Linux / MacOS X以降の形式) nkf -Lw lf.txt >temp.txt # nkfコマンドの-Lwオプションで改行コードをCR + LFに変換して、結果をtemp.txtファイルに保存 file temp.txt temp.txt: ASCII text, with CRLF line terminators # fileコマンドで変換結果を確認すると、改行コードがCR + LFに変換されていることを確認できる <br><br> __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]
Linuxコマンド - nkf
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse