「メールで受け取ったファイルの文字コードを変換したい」
WindowsとLinuxでは、デフォルトの文字コードや改行コードが異なるため、そのままではファイルが正しく表示されないことがあります。
この記事では、
nkf(Network Kanji Filter)コマンドを使って、文字コードと改行コードを変換する方法を解説します。Shift-JIS・EUC-JP・UTF-8の相互変換と、改行コード(CRLF↔LF)の変換まで順番にまとめました。
【この記事でわかること】
・nkf -e ファイル名 でEUC-JPに変換して表示できる
・nkf -w ファイル名 でUTF-8に変換できる
・nkf -s ファイル名 でShift-JISに変換できる
・nkf -Lu で改行コードをLF(Linux形式)に変換できる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
nkf コマンドの基本的な使い方
nkf(Network Kanji Filter)は文字コードと改行コードを変換するコマンドです。Linuxでは標準で使えることが多く、なければ
yum install nkf や apt install nkf でインストールできます。文字コードを変換する
1. ファイルの文字コードを確認する
# ファイルの文字コードを確認する $ nkf --guess moji.txt Shift_JIS (CRLF) # ↑Shift-JISのWindowsファイルと確認できました
2. Shift-JIS → EUC-JP に変換する
# 文字化けしているファイルを確認する $ cat moji.txt Linux答{ 瓶 気陶誘メ[h # EUC-JP に変換して表示する $ nkf -e moji.txt Linuxで日本語を扱うときは文字コードに注意 # EUC-JP に変換してファイルに保存する $ nkf -e moji.txt > moji_euc.txt
3. 各文字コードへの変換オプション
# UTF-8 に変換する $ nkf -w moji.txt > moji_utf8.txt # EUC-JP に変換する $ nkf -e moji.txt > moji_euc.txt # Shift-JIS に変換する $ nkf -s moji.txt > moji_sjis.txt # JIS(ISO-2022-JP)に変換する $ nkf -j moji.txt > moji_jis.txt
改行コードを変換する
Windows(CRLF) → Linux(LF) に変換する
# Windowsの改行コード(CRLF)をLinuxの改行コード(LF)に変換する $ nkf -Lu moji.txt > moji_linux.txt # 文字コードの変換と改行コードの変換を同時に行う $ nkf -w -Lu moji.txt > moji_utf8_linux.txt
Linux(LF) → Windows(CRLF) に変換する
# LinuxのLFをWindowsのCRLFに変換する $ nkf -Lw moji.txt > moji_windows.txt
iconv コマンドを使う方法
nkf がない環境では iconv コマンドで代替できます。# Shift-JIS から UTF-8 に変換する $ iconv -f SHIFT_JIS -t UTF-8 moji.txt > moji_utf8.txt # 文字コードを確認する $ file moji.txt moji.txt: ISO-8859 text
本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| 文字コードを確認する | nkf --guess ファイル名 |
| UTF-8に変換する | nkf -w ファイル名 > 出力ファイル名 |
| EUC-JPに変換する | nkf -e ファイル名 > 出力ファイル名 |
| Shift-JISに変換する | nkf -s ファイル名 > 出力ファイル名 |
| CRLF→LFに変換する(Linux形式) | nkf -Lu ファイル名 > 出力ファイル名 |
| LF→CRLFに変換する(Windows形式) | nkf -Lw ファイル名 > 出力ファイル名 |
nkf --guess で現在の文字コードを確認してから変換する習慣をつけましょう。OS間のテキスト変換を確実に行い、文字化けや改行コードのトラブルを防ぐ
nkfやiconvを使いこなせると、Windowsとのファイルやりとりで起きる文字コードの問題を素早く解決できます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:MIMEでエンコードされたテキストを読めるように変換する
- 前のページへ:vi/vimのコマンドモードとインサートモードを切り替える方法|ESC・i・a・o操作と保存・終了まで
- この記事の属するカテゴリ:Linuxtipsへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます