#daiizメモ

Scrapboxに夢中

ファイルの文字コードと改行コード

文字コードを調べる

file コマンド

ファイルの文字コードを知りたい場合は

file -b ファイル名

と打って実行する。すると、

UTF-8 Unicode c program text, with CRLF, LF line terminators

などと表示されるので、ファイルの文字コードUTF-8であることが確かめられる。 また、改行コードがCRLFLFの2種類が存在しているらしいので、続いてはこれをLFに統一する。

改行コードを変換する

nkf コマンド

改行コードをLFに統一したい場合*1は、

nkf -Lu 変換したいファイル名 > 変換後のファイル名

を実行する。
注意: 変換したいファイル名変換後のファイル名 を同じにしてはいけない。これをやると、 ファイルの中身が空になってしまう。

もう一度fileコマンド

上記のnkfを実行した後、もう一度fileで確認してみると、

UTF-8 Unicode c program text

となるのでOK。改行コードがすべてLFに変換されると、最初にfileを実行したときに出てきたwith ...は表示されなくなる。

LFを目で確認したい場合

本当に改行コードがLFになっているかを可視化したい場合はcatコマンドをオプション-eとともに実行すればよい。

cat -e 変換後のファイル名

とすると、ファイルの内容がズラッと表示され、それぞれの行の文末がすべて$で終わっていることが確認できる。もしも改行コードCRLFが混ざっていると、その行末は^M$となっている。

*1:もしCRLFに統一したい場合は、下記の-Luを-Lwとする。