改行コードテスト
LF (Unix)・CRLF (Windows)・CR (旧 Mac)・混在の各改行コードのテキストファイルを無料ダウンロード。変換処理や互換性の検証に使えます。
LF (Unix) のテキストファイル
lf.txt / 704 B
CRLF (Windows) のテキストファイル
crlf.txt / 714 B
CR (旧 Mac) のテキストファイル
cr.txt / 704 B
改行コード混在 のテキストファイル
mixed.txt / 708 B
改行コードテストの重要性
改行コードはOS間で異なります。Unix/Linux/macOSではLF(n)、WindowsではCRLF(rn)、Classic Mac OSではCR(r)が使用されます。
バージョン管理システム(Git)や各種テキスト処理ツール、プログラミング言語での改行コード処理を検証する際にお使いください。
📖 つまずきやすいポイント
同じ内容を LF (Unix)、CRLF (Windows)、CR (旧 Mac)、および混在で書き出したファイルです。改行コードは目に見えないのに挙動を変えるため、テキスト処理の不具合の中でも原因にたどり着きにくい部類です。見た目で判断できないので、実物で試すのが最短になります。
| ケース | 何が起きるか | どうする |
|---|---|---|
| git diff が全行変更になる | 1 文字も直していなくても、改行コードが LF から CRLF に変わればすべての行が別物になります。エディタや OS の設定で無言のうちに起こります。 | .gitattributes に * text=auto を置き、シェルスクリプトや設定ファイルは *.sh text eol=lf のように明示的に固定します。 |
| シェルスクリプトが CRLF で動かない | 行末の
がコマンドの一部として渡されます。bash: $'
': command not found や syntax error near unexpected token が典型的な症状です。 |
file script.sh で with CRLF line terminators と出れば確定です。tr -d '
' < in > out で落とせます。Windows から直接コピーせず、サーバー側で変換してから配置するのが安全です。 |
| 読み込んだ文字列の末尾に が残る | CRLF のファイルを行単位で読むと、多くの言語が
だけを区切りとみなし
を値に残します。比較が一致せず、数値変換も失敗します。 |
読み込み直後に両端を落とします。PHP なら rtrim($line, "
")、Python なら line.rstrip()。末尾だけでなく行の途中に混ざっている場合は 改行コード変換で正規化してください。 |
混在ファイルは特に厄介です。ファイルの前半が LF、後半が CRLF という状態は、複数人が別の環境で編集した結果として普通に生まれます。file コマンドは最初に見つけた形式しか報告しないので、混在の検出には grep -c $'
' で行数を数えるほうが確実です。