iconvコマンドを使用して、ファイルの文字コードを変換する方法を解説します。
はじめに
ここでは、iconvコマンドについて簡単に説明します。
iconvコマンドは、以下のようなファイルの文字コードを変換することが出来ます。
これら以外にも様々な文字コードに対応しています。
対応している文字コードについては後述します。
- SJIS > UTF-8
- UTF-8 > SJIS
また、文字コードを変換したファイルを保存することも出来ます。
iconvコマンドの使い方
iconvコマンドの書式は以下となります。
iconv オプション 変換元のファイル
では、iconvコマンドの最も基本的な使用例を見てみたいと思います。
例として、SJIS形式のファイルを、UTF-8環境で表示してみます。
まずは、文字コードを変換せずに、catコマンドでファイルを開いてみます。
[root@STKPUB002 workspace]# cat sample.txt ?H 騫?p w @
UTF-8環境で、SJIS形式のファイルを開いているため、正しく表示されていません。
では、文字コードを変換しつつ、表示してみます。
[root@STKPUB002 workspace]# iconv -f sjis -t utf8 sample.txt 秋拓技術学院
文字コードが変換され、正しく表示されましたね。
オプションの一覧
iconvコマンドのオプションの一覧です。
ここに記載している以外のオプションは、コマンドのヘルプを見てみて下さい。
オプション | 説明 |
---|---|
-f-- from-code=文字コード | 読み込むファイルのエンコーディング(文字コード) |
-t-- to-code=文字コード | 出力するエンコーディング(文字コード) |
-l-- list | コマンドで使える文字コードを表示する。 |
-o-- output=出力ファイル | 文字コードを変換したファイルの出力先パス。 |
-?-- help | コマンドのヘルプを表示する。 |
-V-- version | コマンドのバージョン情報を表示する。 |
コマンドの使用例
iconvコマンドの使用例です。
文字コードを変換しつつ、ファイルを表示する
文字コードを変換しつつ、ファイルの内容を表示する方法を説明します。
例として、文字コードがSJISのファイルをUTF-8環境で表示します。
[root@STKPUB002 workspace]# iconv -f sjis -t utf8 sample.txt 秋拓技術学院
文字コードを変換して、別のコマンドに渡す
文字コードを変換したファイルの内容を別のコマンドに渡す方法を説明します。
ここでは、パイプを使用して、headコマンドに渡してみたいと思います。
まずは、普通にファイルの内容を確認してみます。
[root@STKPUB002 workspace]# iconv -f sjis -t utf8 sample.txt 1行目 2行目 3行目
次は、ファイルの内容をheadコマンドに渡し、先頭から2行目までを表示します。
[root@STKPUB002 workspace]# iconv -f sjis -t utf8 sample.txt | head -n 2 1行目 2行目
オプション[o]で変換したファイルを保存する
オプション「o」を使用することで、文字コードを変換したファイルを保存することが出来ます。
[root@STKPUB002 workspace]# iconv -f sjis -t utf8 sjis.txt -o ./utf8.txt [root@STKPUB002 workspace]# cat utf8.txt 1行目 2行目 3行目
リダイレクトで変換したファイルを保存する
リダイレクトを使用して、文字コードを変換したファイルを保存することが出来ます。
[root@STKPUB002 workspace]# iconv -f sjis -t utf8 sjis.txt > utf8.txt [root@STKPUB002 workspace]# cat utf8.txt 1行目 2行目 3行目
コメント