二つのテキストの変更点を見つける方法
2つのバージョンの変更点を見つけるには、両方のテキストを比較ツールに貼り付けます。ツールは行をそろえて、異なる行を一覧表示し、対応する行の中で変わった単語をマークします。これはコードにも文章にも使えます。長い段落で1語だけ直した場合でも、その語が目立ち、残りの段落はそのまま表示されます。
テキストを比較バージョン間で何が変わった?無料で使う差分の仕組み
差分(diff)は、最長共通部分列(LCS)を探します。つまり、両方のバージョンに同じ順序で現れる項目の、最も長い並びです。項目どうしが隣接している必要はありません。共通する並びに含まれるものは変更なしです。それ以外は、新しいバージョンにだけ現れる追加か、古いバージョンにだけ現れる削除のいずれかになります。
簡単な例で見てみましょう。古いテキストが「A B C D」、新しいテキストが「A C X D」だとします。最長の共通並びは「A C D」なので、Bは削除、Xは追加です。比較ツールは長い文書でも同じ方法で処理するため、2つのテキストを並べて表示するだけでなく、正確な変更一覧を示すことができます。
行と単語
- 行は、コード、設定ファイル、リストなど、1行に1項目があるものに向いています。変更された行は、削除された行と追加された行のペアとして表示されます。
- 単語は、エッセイ、契約書、そのほかの文章に向いています。変更された行のペアの中で、比較ツールは変わった単語だけをマークするため、1語だけ直した文が全面的に書き換えられたように見えることはありません。
実例:意味を変える1語
ある条項の2つのバージョンを考えます。
- 旧:「供給者は、注文から14日以内に商品を納品するものとする。」
- 新:「供給者は、注文から30日以内に商品を納品することができる。」
比較ツールでは、この文は削除された1行と追加された1行として表示されます。マークされた単語を見ると、変更は2箇所です。「ものとする」が「ことができる」に、「14」が「30」に変わっています。ほかの部分は同じです。最初の変更は意味を変えます。義務が選択肢になったので、マークされた語を注意深く確認してください。
空白と大文字小文字を無視する
空白や大文字小文字の違いは、本当の変更を隠してしまうことがよくあります。そのため、ツールにはこれらを無視するチェックボックスがあります。
- 空白だけが変わった場合は、空白を無視にチェックを入れます。たとえば、エディタが追加した行末のスペースなどです。
- 複数の人がリストを入力した場合は、大文字小文字を無視にチェックを入れます。ただし、設定キーやLinuxのファイル名のように大文字小文字が重要な場面では無視しないでください。
- 長い比較で変更のない部分を隠したいときは、変更された行のみ表示にチェックを入れます。
たとえば、大文字小文字を無視すると「Total: 100」と「total: 100」は同じ内容になります。しかし、キーの大文字小文字を区別するファイルでは、両者は別の設定です。そのため、その場合は大文字小文字を無視してはいけません。
fixmintでの使い方
- 古いバージョンを元のテキストに、新しいバージョンを変更後のテキストに貼り付けます。
- 確認の目的上、その違いが重要でない場合だけ、空白を無視または大文字小文字を無視にチェックを入れます。
- まず変更された行を読み、そのあとで行内のマークされた単語を読みます。
- 長い比較で変更のないテキストを隠すには、変更された行のみ表示にチェックを入れます。
- 結果を残すには、差分をコピーをクリックします。
特殊なケース
- 移動された段落。 差分は元の順序を保つため、移動した段落は、ある場所では削除、別の場所では追加として表示されます。目で見て確認するか、2つの部分を別々に比較してください。
- 改行が変わったテキスト。 新しいバージョンが別の幅で折り返されている場合、行単位の比較は実際には変わっていない箇所を変更として報告します。先に貼り付けテキストを整えるで行をつなげてから比較してください。ルールについては改行の直し方ガイドで説明しています。
- 見えない文字。 見えない文字は、目に見える内容が変わっていなくても変更として表示されます。比較の前に見えない文字を削除してください。
- 大幅な書き換え。 ほぼすべてが変わった場合、差分は読みにくくなります。一度に1つのセクションずつ比較してください。
出力の読み方
まず削除を、次に追加を確認します。数字、日付、名前、否定語を最初にチェックしてください。1桁の数字が変わるだけで、ページ全体の言い換えより重要になることがあるからです。前述の契約書の例では、12語からなる文の中で2語が変わっており、小さな修正です。マークされた単語があるので、すぐに見つけられます。自分の文章の2つのバージョンを比べている場合は、文字数の比較で、新しいバージョンが長くなったか短くなったかも確認できます。
2つのバージョンが別々の人によって作られたものなら、「第3稿」「第4稿」のようにラベルを付け、古いファイルは変更しないでおきましょう。変更を上から下へ順に読むと、議論や条項が編集を経てどのように動いたかを追えます。最大の変更を探すより時間はかかりますが、小さな変更を見落としにくくなります。
行単位の差分は、構造化されたデータには適していません。1つのセルが変わると、その行全体と以降のすべての行がずれてしまうことがあるからです。データに合った変更一覧を得るには、2つのスプレッドシートを比較してセル単位で、または2つのJSONファイルを比較してキー単位で確認してください。
よくある質問
差分とは何ですか?
差分とは、2つのバージョンの間で追加・削除された内容の一覧のことです。2つのバージョンが共有する最も長い並びから計算されます。
行単位と単語単位のどちらで比較すべきですか?
コードやリストのように各行が独立した項目である場合は行単位を、段落の中で1つの文だけが変わっている可能性がある文章では単語単位を使ってください。
差分で段落全体が変更されて表示されるのはなぜですか?
多くの場合、改行、空白、見えない文字が異なるためです。空白を無視するか、テキストの改行を整えるか、見えない文字を削除してから、もう一度比較してください。
英語原文をもとに、AIの支援を受けて翻訳しています。
コメント
まだコメントはありません。最初のコメントを書いてみましょう。


