置換ミスを防ぐ!テキストエディタの改行コード置換、改行文字そのものを置換

テキストエディタで改行コードを置換するときは、画面に見える段落記号を一つずつ検索するのではなく、複製したファイル全体の改行方式をCRLFからLFへ変更し、保存後に行数と改行数を数え直すのが安全です。今回Rune Studioで確かめたのも、このファイル全体変換です。CRLF・LF・CRが混在するファイルから一部だけを選んで変換する方法ではありません。

まず「文字」と「改行方式」を分ける

CRLFは2バイト、LFは1バイトですが、どちらも通常は一つの改行として扱われます。そのため、24個のCRLFをLFへ変えると、文章と段落構造は同じでもファイルサイズは24バイト小さくなります。

たとえばWindowsから受け取った draft-crlf.txt が24行分の改行をすべてCRLFで持っているとします。変換後の合格条件は「見た目が変わらない」だけでは足りません。次の四つを先に決めます。

末尾にも改行があるファイルでは、エディタの行数表示が25行になることがあります。そこで「本文24行」と「改行24個」を同じ数だと思い込まず、別々に記録します。

複製ファイルを一度だけ変換する手順

1. 正本を触らず、変換用コピーを作る

incoming/draft-crlf.txt を work/draft-lf.txt へ複製します。変換前に、文字コード、改行方式、本文行数、改行数、ファイルサイズをメモします。今回の標本では文字コードはUTF-8、改行はCRLF 24個でした。

2. ファイル全体の改行方式をLFへ変更する

Rune Studioで変換用コピーを開き、ファイル全体の改行コードをLFに設定します。検索欄へ「\r\n」と入力して文章中の文字列を置換する操作ではありません。対象は開いている複製ファイル全体です。

設定を変える前に、タブ名が draft-lf.txt であることを見直します。似た名前の正本を開いていたら、ここで中止します。

3. 適用して保存し、いったん閉じる

LFへの変更を適用し、複製を保存します。保存直後の表示だけで完了にせず、ファイルを閉じてから同じパスを開き直します。再読込を挟むことで、画面上の一時状態ではなく保存されたファイルを確認できます。

4. 四つの値を照合する

開き直した work/draft-lf.txt について、本文の並び、改行方式、CRLF数、LF数を確認します。今回の24行標本では、変換前のCRLF 24個が0個になり、LFは24個、改行方式はLFになりました。本文の段落順は変換対象ではありません。

バイト数も比べるなら、CRLFからLFへの変換分だけ小さくなっているかを見ます。文字コードまで同時に変えると差の原因が分からなくなるため、改行変換と文字コード変換は別作業にしてください。

混在改行では同じ結論にしない

一つのファイルにCRLF 18個、LF 7個、CR 3個が混ざっている場合、ファイル全体をLFへ統一する判断と、特定の改行だけを残す判断は別です。今回確認した手順から言えるのは「全体をLFへ統一した24行標本を再読込できた」ことまでです。

差分の一部だけを変えたい、バイナリファイルを処理したい、正規表現で例外を残したい場合は、この手順をそのまま使えません。まずファイル形式と除外条件を別途試してください。

Rune Studioを使う意味

数値が合わないときの戻り方

CRLFが0になってもLFが24でなければ、変換以外の編集が混ざった可能性があります。まず保存前後のファイル名を見直し、次に文字コード、本文文字数、末尾改行の有無を比べます。文字コードまで変わっていれば、バイト差だけでは合否を決められません。本文の行が増減していれば、改行方式の統一ではなく段落編集が起きています。

また、再読込み後だけCRLFへ戻る場合は、保存先を取り違えたか、別の処理がファイルを書き直していないかを調べます。正本と複製の差分を取り、改行以外の文字差が0であることを確認してからやり直してください。失敗した複製へさらに変換を重ねず、最初のCRLF正本から新しいコピーを作るほうが原因を追いやすくなります。

今回の複製では、Rune Studioでファイル全体をCRLFからLFへ変換し、再読込後にCRLF 0個、LF 24個、改行方式LFを確認できました。これは混在改行の選択置換や、文章の意味に応じた自動判断を証明するものではありません。

改行コード置換の成否は「画面が同じに見えるか」ではなく、変換前後の改行数、改行方式、バイト差、再読込結果が一致するかで決めます。まず短い複製でこの四項目を通し、同じ条件を本番ファイルへ適用したい人はRune Studioの商品ページで現行の対応範囲を確認してください。