Linuxで改行コードを確認する4つの方法

今回はAlmaLinux8でファイルの改行コードを確認する方法についてご紹介いたします。

◾️改行コードとは?

改行コードは、テキストファイル内で行を区切るために利用される特殊文字となります。

コンピュータシステムでは、改行コードをテキスト行の終わりを示す特殊文字として認識し、それに応じた処理を実施します。

改行コードは、OSや環境に応じて異なり主に下記の3種類が利用されております。

OS改行コード表記
Unix系OS(LinuxやmacOS等)LF\n
WindowsCRLF\r\n
古いmacOSCR\r

◾️fileコマンドで確認する方法

fileコマンドを使用し改行コードを確認するには以下のように引数にファイル名を指定し実行します。

file ファイル名

下記「test.txt」を利用し確認した例となります。

CRLFの場合

CRLFの場合は以下のように表示されます。

test.txt: news or mail, ASCII text, with CRLF line terminators

LFの場合

LFの場合は以下のように改行コードは何も表示されません。

test.txt: ASCII text

混合している場合

混合している場合は以下のように表示されます。

test.txt: news or mail, ASCII text, with CRLF, LF line terminators

◾️catコマンドで確認する方法

catコマンドを使用し改行コードを確認するには以下のようにオプション「A」を指定します。

また、引数にファイル名を付け実行する事で確認できます。

cat -A ファイル名

下記「test.txt」を利用し確認した例となります。

CRLFの場合

CRLFの場合は以下のように「^M$」が末尾に表示されます。

cat -A test.txt
test^M$
test2^M$
test3^M$
test4^M$

LFの場合

LFの場合は以下のように「$」が末尾に表示されます。

cat -A test.txt
test$
test2$
test3$
test4$

◾️odコマンドで確認する方法

catコマンドを使用し改行コードを確認するには以下のようにオプション「c」を指定します。

また、cat同様に引数にファイル名を付け実行する事で確認できます。

od -c ファイル名

CRLFの場合

CRLFの場合は以下のように「\r \n」が表示されます。

od -c test.txt
0000000   t   e   s   t  \r  \n   t   e   s   t   2  \r  \n   t   e   s
0000020   t   3  \r  \n   t   e   s   t   4  \r  \n
0000033

LFの場合

LFの場合は以下のように「\n」が末尾に表示されます。

od -c test.txt
0000000   t   e   s   t  \n   t   e   s   t   2  \n   t   e   s   t   3
0000020  \n   t   e   s   t   4  \n
0000027

◾️nkfコマンドで確認する方法

nkfコマンドを使用し改行コードを確認するには以下のようにオプション「–guess」を指定します。

また、cat同様に引数にファイル名を付け実行する事で確認できます。

nkf --guess ファイル名

CRLFの場合

CRLFの場合は以下のように表示されます。

nkf --guess test.txt 
ASCII (CRLF)

LFの場合

LFの場合は以下のように表示されます。

nkf --guess test.txt
ASCII (LF)

混合している場合

混合している場合は以下のように表示されます。

nkf --guess test.txt 
ASCII (MIXED NL)