2つの文章の違いを確かめる方法。行、単語、文字の単位と、見えない空白や改行の違い
契約書の修正版や原稿の直し、設定ファイルの変更点を見比べるときは、目で読み比べるより差分ツールを使うほうが確実です。行、単語、文字のどの単位で比べるかの選び方と、見た目では区別できない空白や改行コードの違いを見つける方法をまとめました。
修正をお願いした原稿が戻ってきたとき、どこが変わったのかを確かめたい。契約書の新旧版を見比べる。動かなくなった設定ファイルを、動いていたときのものと比べたい。どれも、2つの文章の違いを見つける作業です。
数行なら目で読み比べられます。数十行を超えると、変わっていない箇所を読む時間がほとんどを占め、肝心の1文字の違いを見落としやすくなります。
見落としを防ぐ近道は、2つの文章を当サイトのテキスト差分に貼り付けることです。違う箇所に色が付くので、変わったところだけを読めば済みます。貼り付けた文章はサーバーへ送られません。

差分ツールは「変わっていない部分」を探してくれる
差分ツールは、2つの文章で一致している部分をできるだけ長く見つけ、残りを「削除された部分」と「追加された部分」として示します。読む人は、色の付いた箇所だけを見れば済みます。
一致を探す単位によって、結果の見え方は変わってきます。当サイトのテキスト差分で選べるのは、行、単語、文字の3つです。
行、単語、文字のどれで比べるか
行単位は、プログラムや設定ファイル、箇条書きのように、1行ごとに意味のまとまりがある文章に向きます。変わった行を左右に並べて示し、その行の中で変わった文字にも色が付く表示です。左右に並べる表示と、削除行と追加行を1列に並べる表示は切り替えられます。
単語単位と文字単位は、段落が長い文章に向きます。1つの段落が1行になっている原稿では、行単位で比べると段落全体が「変わった行」になり、どこが違うのかが結局わかりません。単語単位なら英文の語の入れ替え、文字単位なら日本語の助詞1文字の違いを、文の流れの中で色を付けて示します。日本語の原稿なら、単語の区切りに空白を使わないぶん、文字単位で比べると見やすくなることも多いはずです。
見た目では区別できない違い
差分ツールを使っても「違う」と出るのに、どこが違うのか見えないことがあります。原因は、画面に表示されない文字の違いであることが多いです。
- 半角スペースと全角スペース、タブ
- 改行コードの違い(Windowsで多いCRLFと、MacやLinuxで多いLF)
- ファイルの最後の改行の有無
テキスト差分ツールで「空白記号」にチェックを入れると、半角スペースは「·」、タブは「→」、改行は「¶」のような記号に置き換わって見えるようになります。空白だけが違う箇所には、色と枠の強調が付きます。
改行コードと末尾の改行は、比べた2つの文章それぞれについて種類を表示する仕組みです。2つが食い違っていれば「改行コードが異なります」「末尾の改行の有無が異なります」という警告が表示されます。中身は同じなのにシステムが「違うファイル」と判定するとき、原因はこの2つであることが多いです。
逆に、空白や大文字と小文字の違いは無視したいときもあります。「前後の空白を無視」と「大文字小文字を無視」にチェックを入れれば、それらの違いは差分として出ません。
検索と置換で、比べる前に表記をそろえる
表記の揺れが多いと、本当に見たい変更が埋もれます。たとえば片方だけ全角数字になっているなら、比べる前にそろえたほうが差分は読みやすい。
テキスト差分ツールには、左右の入力欄を対象にした検索と置換があります。対象は左だけ、右だけ、両方の3通り。正規表現も使え、$1 のような後方参照で、見つけた文字列の一部を置換後に残すことも可能です。正規表現の書き方に慣れていなくても、画面の早見表から記号を選んで検索欄に入れられます。
ファイルの読み込みと結果の保存
文章は入力欄に貼り付けるほか、テキストファイルを枠にドラッグ&ドロップしても読み込めます。文字コードは、UTF-8、Shift_JIS、EUC-JPなどから自動で判別。比べた結果は、HTMLファイルとして保存できます。
入力した文章はサーバーに送られません。ツールのページは、ブラウザの設定で外部への通信そのものを禁止した状態で動いています。入力した文章は次に開いたときのためにブラウザ内へ保存されます。共用のパソコンで使ったあとは「全消去」で消してください。
どちらかの文章が1万行か100万文字を超えると、入力のたびに比べ直す動きを止め、「比較する」ボタンを押したときだけ比べるようになります。大きなファイルで画面が固まらないための動作です。