次: Output Formats, 前: Overview, 上: Top
二つのファイル間の差を考えるときいくつかの方法があります.差を考えるとき の一つの方法は,別のファイルを生成するために,まとまった行があるファイル から削除,挿入,または変更されているということです.diffは行単 位で二つのファイルを比較し,異なっている行のまとまりを探し,そして,異なっ ているそれぞれのまとまりを報告します.目的によって,いくつかの書式で異なっ ている行を報告させることが可能です.
gnu diffでは,詳細な差異を用いずにファイルが異なっている かどうかを表示することが可能です.それは,重要ではない差異の表示を抑制す る方法も提供しています.最も一般的なこととして,そのような差は単語や行の 間の空白の数が変更されているものです.diffは,アルファベットの 大文字小文字の差や,提供されている正規表現にマッチする行の差の表示を抑制 する方法も提供しています.これらのオプションは累積されます.例えば,空白 とアルファベットの大文字小文字の変更を無視することが可能です.
二つのファイルの差を考えるもう一つの方法として,バイトの集合が同一または 異なっているというのもがあります.cmpは二つのファイル間の差を, 行単位ではなく,バイト単位で報告します.結果として,バイナリファイルに対 してdiffを使用するより,遥かに役に立つことが多いでしょう.テキ ストファイルに対しては,二つのファイルが同一かどうか,または,一つのファ イルがもう一方のファイルに前置されているかどうかを知りたいだけのとき,主 に役に立つでしょう.
バイト単位での変更を考慮する影響を説明するには,行単位での変更を考慮する ことと比較することが可能で,例えば単一の改行文字がファイルの最初にある場 合に何が生じるかを考えてみてください.そのファイルを,最初に改行が無いだ けの同一の別ファイルと比較する場合,diffでは改行がファイルに追 加されたことを報告しますが,cmpでは二つのファイルはほとんど全 体が異なっていると報告するでしょう.
diff3は,通常三つの入力ファイルを行単位で比較し,差異のある行 のまとまりを見つけ,それぞれの差異のある行のまとまりを報告します.その出 力は,同じファイルを変更した二つのものの差を調べることを容易にするように 設計されています.