差分チェッカー(Diff)
無料のオンライン差分チェッカー。2つのテキストをブラウザ内で1行ずつ比較し、追加・削除・変更された箇所を正確に確認して、結果を統合形式のパッチとしてコピーできます。
差分チェッカーがすること
差分チェッカーは、同じテキストの2つの版を突き合わせ、その間で何が変わったかを示します。両方に現れる行はそのまま残り、最初の版にしかない行は削除、2番目の版にしかない行は追加として印が付きます。結果として得られるのは短い変更の一覧であり、長いファイルを2つ並べて自分で読み比べる必要はありません。
どんなときに必要か
同じであるはずの2つのものの一方が同じでないとき、いつでも役に立ちます。あるサーバーでは動き別のサーバーでは失敗する設定ファイル、誰かが黙って書き換えた契約条項、以前は正常だったログ、原文から離れてしまった翻訳。両方を最後まで読むのは遅く、しかも当てになりません。人の目は変わった数字を見落とします。差分は見落としません。
結果の読み方
| 記号 | 意味 |
|---|---|
| その行は両方のテキストで同じで、前後関係を示すためだけに表示されています。 | |
| - | その行は元のテキストにしかありません。 |
| + | その行は変更後のテキストにしかありません。 |
| @@ | 変更のまとまりの始まりを示し、それぞれのテキストで対象となる行番号を表します。 |
これらは統合形式(unified format)の記号で、diff -u、git、patch が使うものと同じです。このページが作るパッチはファイルに保存し、それらのツールで適用できます。
使い方
比較はブラウザ内で実行されます。貼り付けた内容はどこにも送信されません。これは重要な点です。人が比較するファイルは、まさにアップロードすべきでないもの — 認証情報、契約書、顧客データ — であることが多いからです。
- 最初の欄に元の版を、2番目の欄に変更後の版を貼り付けます。
- 大文字小文字や空白を無視するかを選びます。2つのファイルが別々のエディタで書かれている場合に便利です。
- 印の付いた行を読むか、統合形式のパッチをコピーして別の場所に変更を適用します。
よくある質問
入力したテキストはサーバーに送信されますか?
いいえ。比較はすべてブラウザ内の JavaScript で行われます。このページは何も送信せず、何も保存しません。
空白を1つ足しただけなのに、なぜ行が変わったと表示されるのですか?
既定では比較が厳密だからです。「空白を無視する」を有効にすると、字下げや空白だけが異なる行は同じものとして扱われます。表示自体は各ファイルをありのままに示し続けます。
テキストを貼り付ける代わりにファイルを比較できますか?
任意のエディタでファイルを開き、すべて選択してここに貼り付けてください。このページはテキストを比較するので、テキストとして読めるものはすべて比較できます。コード、CSV、ログ、JSON、普通の文章。
Windows と Unix の改行の違いは問題になりますか?
いいえ。CRLF と LF は同じ改行として扱われるため、Windows で保存したファイルの全行が変わったように見えることはありません。
パッチは何に使うのですか?
diff -u が生成し、git や patch が読み取る統合形式です。ファイルに保存すれば、元のファイルの別の複製にこの変更をそのまま適用できます。チケットに添付して、変更内容を他の人に見せることもできます。
Wikipedia — diff
Wikipedia — Unified format
Wikipedia — Longest common subsequence
Wikipedia — Patch (computing)
Wikipedia — File comparison