Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ diff3(1) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

diff(1)

DIFF3(1)  —  UNIX Programmer’s Manual

名称

diff3 − 3つの異なるファイルの比較

形式

diff3 [ −exEX3 ] file1 file2 file3

解説

diff3 は、ファイルの 3つのバージョンを比較し、テキストの一致していない範囲を、 次のコードを用いて示します。

====    3つのファイルがすべて違う

====1   file1 が違う

====2   file2 が違う

====3   file3 が違う

与えられたファイルの与えられた範囲が他に変換されているような変更の種類は、 次のいずれかの方法で示されます。

f : n1 a ファイル f (ここで、 f = 1 または、2、3) の行番号 n1 のあとに、テキストが追加されます。

f : n1 , n2 c 行 n1 から n2 の範囲でテキストが変更されます。 n1 = n2 である場合には、範囲は n1 に省略されます。

範囲の元の内容は、 c のすぐあとに示されます。2つのファイルの内容が同じである場合には、 若い番号のファイルの内容が抑制されます。

−e オプションを使用すると、 diff3 は、 file2 と file3 との間のすべての変更点、すなわち、通常 ==== および ==== 3で示される変更点を file1 に組み入れるためのエディタ ed 用のスクリプトを発行します。オプション −x (−3)は、 ====(====3)  で示される変更点だけを組み入れるためのスクリプトを作成します。 次のコマンドは結果として得られるスクリプトを‘file1’に適用します。

(cat script; echo ´1,$p´) │ ed − file1

−E と −X は、 −e と −x にそれぞれ似ていますが、オーバーラップしている変更点(すなわち、 通常のリストで ==== によって示される変更点)の扱いが違います。 両方のファイルでオーバーラップしている行は、編集スクリプトによって、 "<<<<<<" と ">>>>>>" の行でくくられて、挿入されます。

例えば、行 7−8 が file1 と file2 の両方で変わっているとします。 コマンド、
"diff3 −E file1 file2 file3"
によって作られた編集スクリプトを file1 に適用すると、 次のような形式のファイルが得られます。

 lines 1−6
of file1
<<<<<<< file1
lines 7−8
of file1
=======
lines 7−8
of file3
>>>>>>> file3
rest of file1

−E オプションは、マージされたファイル内でオーバーラップしている 変更点を保存して示してユーザの注意を促すために、RCSの merge(1) によって使用されます。

関連ファイル

/tmp/d3????? 
/usr/lib/diff3

関連事項

diff(1)

バグ

単一の‘.’から成るテキスト行は、 −e を無効にします。

NEWS-OSRelease 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026