Web便利ツール

テキスト差分比較

このツールについて

使い方

左右のテキストエリアにそれぞれテキストを入力すると、行単位で差分をハイライト表示します。

表示モード

「サイドバイサイド」は左右に並べて差分を表示します。 「インライン」は1カラムで差分を表示し、追加行には + マーク、削除行には - マークを付けます。

空白無視

「空白を無視」を有効にすると、行内のスペース・タブの違いを無視して比較します。 インデントの違いだけを除外したい場合に便利です。

空行無視

「空行を無視」を有効にすると、空行を比較対象から除外し、差分表示にも空行は含まれません。 末尾に改行だけ追加されたケースや、見栄えのための空行挿入を差分として扱いたくない場合に便利です。 「空白を無視」と組み合わせると、空白のみで構成された行も空行として扱われます。

豆知識

diff の歴史

Unix の diff コマンドは1974年に Douglas McIlroy が Hunt-McIlroy アルゴリズムをベースに実装しました。 テキストファイルの差分を効率的に表示するこのツールは、 ソフトウェア開発のワークフローに欠かせない存在となりました。

Myers アルゴリズム

1986年に Eugene Myers が発表した差分アルゴリズムは、 最小編集距離を O((M+N)D) の計算量で求めることができます。 Git の内部差分エンジンにも採用されており、 変更が少ない場合に特に高速に動作します。

diff の応用

差分比較の技術はバージョン管理 (Git) だけでなく、 DNA 配列のアラインメント (生物情報学)、自然言語の校正ツール、 データベースのレプリケーション同期など、 幅広い分野で活用されています。

参考リンク