改行コードの種類を検出・識別する(LF vs CRLF)

テキストがUnix(LF)、Windows(CRLF)、またはレガシーMac(CR)の改行コードを使用しているかを検出します。クロスプラットフォームの問題を引き起こす改行コードの混在を特定します。

Line Endings

詳細な説明

改行コードを理解する

異なるオペレーティングシステムは歴史的に、テキストファイルの行末を示すために異なる文字を使用してきました:

  • LF(ラインフィード、\n、U+000A)— Unix、Linux、macOS(OS X以降)
  • CRLF(キャリッジリターン+ラインフィード、\r\n、U+000D U+000A)— Windows
  • CR(キャリッジリターン、\r、U+000D)— クラシックMac OS(OS X以前)

ビジュアライザーの表示方法

ホワイトスペースビジュアライザーは各タイプに固有のマーカーを使用します:

  • LFは緑色の**↵**記号として表示
  • CRは緑色の**←**記号として表示
  • CRLFは緑色の**←↵**結合記号として表示

パネル下のLine Endingsセクションが要約を提供します:「LF (15)」「CRLF (15)」「Mixed: LF (10), CRLF (5)」など。

改行コードが重要な理由

問題 原因
Gitがファイル全体の変更を表示 改行コードの混在または不正な.gitattributes設定
Linuxでシェルスクリプトが失敗 Windowsからのcrlf改行:/bin/bash\r: bad interpreter
CSVパースで余分な空白が発生 UnixツールがCRLF付きCSVを読むと最終列に\rが付加
Dockerビルドエラー LinuxコンテナにコピーされたシェルスクリプトのWindows CRLF
CIパイプラインの失敗 Windowsで編集されたスクリプトにCRLF、CIはLinuxで実行

改行コードの正規化

すべての改行コードをLF(Unix標準)に変換するには:

  1. テキストを貼り付けて統計で混在を確認します。
  2. CleanセクションでCRLFCRのトグルを有効にします。
  3. Cleanをクリック — CRLFがLFに置換され、単独のCRが削除されます。
  4. 正規化されたテキストをコピーします。

異なる改行コードのテキストを比較する場合は、Diff Viewerで差分を確認できます。

ユースケース

DevOpsエンジニアのDockerビルドが、Windowsマシンからコピーされたシェルスクリプトにcrlf改行コードがあるため失敗します。スクリプトをホワイトスペースビジュアライザーに貼り付けると、CRLF/LFの混在が確認され、LFのみにクリーンアップするとDockerビルドが成功します。

試してみる — Whitespace Visualizer

フルツールを開く