IT二刀流にはプロモーションが含まれています。

Linux系OSでファイルの文字コードや改行コードを調べる

CPU

Linux系OSでUTF8やShift-jisなどファイルの文字コード調べるコマンドです。

nkfコマンドを利用すれば、文字コードや改行コードを調べることができます。

動作環境

  • Rocky Linux 9.2
  • nkf 2.1.4

インストール

nkfがインストールされていなければ、インストールが必要です。

Rocky Linux9のnkfはEPELリポジトリにあるので、EPELのインストールから必要です。

epelのインストール

epelをdnfでインストールします。

「dnf clean all」はキャッシュのクリアなので、やらなくてもOKです。

# dnf install -y epel-release
# dnf clean all

EPELの設定

EPELを使用すると明示しないとEPELパッケージを取得しないようにします。

不用意にEPELのからインストールしないための対策です。

# vi /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir
- enabled=1
+ enabled=0
gpgcheck=1
countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever

epelのenabled項目を0にします。

nkfのインストール

dnfでnkfをインストールします。

「–enablerepo=epel」を付けることで、epelからインストールできます。

# dnf --enablerepo=epel install -y nkf

文字コードの確認

nkfコマンドで文字コードと改行コードを確認できます。

「–guess」オプションを付けると文字コードと改行コードが表示されます。

「-g」の省略オプションだと、文字コードのみ表示されます。

data1.csvはUTF-8で改行コードはLFです。

data2.csvはSJISで改行コードはCRLFです。

# nkf --guess data1.csv
UTF-8 (LF)
# nkf --guess data2.csv
Shift_JIS (CRLF)

まとめて表示することもできます。

# nkf --guess ./*
./data1.csv: UTF-8 (LF)
./data2.csv: Shift_JIS (CRLF)

まとめ

csvファイルをShift_JIS (CRLF)で出力してほしいという要望が結構あります。

おそらくWindowsのExcelで開きたいのでしょう。

ちゃんとcsvがShift_JIS (CRLF)で出力されているか確認するために、nkfコマンドをよく使用します。

nkfでファイルの文字コードを変換することできますが、それはまた後日。

ITエンジニアの転職

いまITエンジニアの需要は急拡大しています。
ITエンジニアの経験があれば好条件で転職することも難しくありません。

転職ドラフト

☆ 支援ご協力のお願い ☆

この記事が「役に立った」と感じたら

投げ銭の「OFUSEで応援」で支援して頂けたら励みになります!

OFUSEのやり方(説明)

関連記事
記事特集