連載
» 2016年09月12日 05時00分 UPDATE

Linux基本コマンドTips(46):【 iconv 】コマンド――文字コードを変換する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「iconv」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、文字コードを変換するための「iconv」コマンドを解説します。

iconvコマンドとは?

 「iconv」は、ファイルなどのエンコーディング、いわゆる文字コードを変換するためのコマンドです。

 使用できる文字コードは「iconv -l」で確認できます。なお、文字コードの指定は大文字でも小文字でも構いません。


書式

iconvコマンドの書式

iconv [オプション] [ファイル1 ファイル2……]

※[ ]は省略可能な引数を示しています





iconvコマンドの主なオプション

 iconvコマンドの主なオプションは次の通りです。

短いオプション 長いオプション 意味
-f コード --from-code=コード 入力のエンコーディング(文字コード)
-t コード --to-code=コード 出力のエンコーディング(文字コード)
-c 変換できなかった文字を出力しない
-s --silent 対応していないなどで変換できなかった場合にエラーメッセージを表示しない
--verbose 処理中のメッセージ(ファイル名など)を表示する
-o --output=ファイル 保存先のファイル
-l --list 対応しているコードを表示する


文字コードを変換して表示する

 「使用している端末はUTF-8だが、シフトJIS(Shift_JIS)で書かれたファイルを読みたい」という場合、例えば、「more」コマンドで表示するのであれば「iconv -f sjis ファイル名 | more」とします。デフォルトの出力はUTF-8なので指定は不要ですが、明示したい場合は「-t utf8」のように指定します。

コマンド実行例

iconv -f sjis -t utf8 sampletext.txt | more

(「sampletext.txt」をUTF-8で表示する)


画面1 画面1 シフトJISで書かれていたため文字化けして表示できなかったテキストファイルを、iconvコマンドでUTF-8にしたら表示できた


文字コードを変換して保存する

 iconvコマンドで文字コードを変換した結果を保存したい場合は、リダイレクトするか、「-o」オプションを付けて「-o ファイル名」と指定します。

コマンド実行例

iconv -f sjis -t utf8 sampletext.txt > utf8sampletext.txt

(「sampletext.txt」をUTF-8に変換して、「utf8sampletext.txt」として保存する)


画面2 画面2 iconvコマンドでUTF-8に変換して保存。catコマンドで表示できることを確認、また、fileコマンドでの判定も確認(※fileコマンドはファイル形式を表示するコマンド。本連載第12回を参照)


変換できない文字は無視して処理を続行する

 iconvコマンドは処理ができない文字があると、そこで処理を中断します。中断せずに、読み飛ばして処理を続行させたい場合は、「-c」オプションを付けます。

コマンド実行例

iconv -c -f sjis -t utf8 marumoji.txt

(処理できない文字があっても中断せずに、処理を続行させる)


画面3 画面3 前出の画面1、画面2と同じ内容だが、「(1)」「(2)」「(3)」の部分に丸付きの数字が使われており、処理が中断する。「-c」オプションを付けると、丸付きの数字部分を飛ばして出力されるようになる


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。