diff3 コマンド

目的

3 つのファイルを比較します。

構文

diff3 [ -e | -x | -E | -X | -3 ] File1 File2 File3

説明

diff3 コマンドは 3 つのファイルを比較して、異なるテキストの範囲を次のコードのフラグを付けて標準出力に書き出します。

項目 説明
==== 3 つのファイルがすべて異なります。
====1 File1 が異なります。
====2 File2 が異なります。
====3 File3 が異なります。

あるファイルのある範囲を、別のファイルに適合するように変換する場合に必要な変更の種類は、次の 2 つの出力方法のどちらかで示されます。

項目 説明
File:Number1 a テキストは File 内の行番号 Number1 の後に追加されます。ここで、File12、または 3 です。
File:Number1[,Number2]c Number1 から行 Number2 までの範囲内のテキストが変更されます。 Number1Number2 が同じ場合は、 範囲は Number1 と省略できます。

範囲の内容は、c の表示後に表示されます。 2 つのファイルの内容が同一の場合、 diff3 コマンドは、それぞれの同一行の位置は表示しますが、付けられている番号が小さい方のファイルの内容は表示しません。

注: -e フラグによって生成された編集スクリプトは、. (ピリオド) から成る行を作成できません。

フラグ

項目 説明
-3 ====3 のフラグが付いた変更だけを組み込むための編集スクリプトを作成します。
-E -X これらのフラグはそれぞれ、-e、 および -x フラグに似ていますが、 重複している変更 (つまり、通常のリストで ==== のフラグが付く変更) の処理の仕方が異なります。 両方のファイルの重複している行が、編集スクリプトによって挿入され、<<<<<< という行と >>>>>> という行で 囲まれます。-E オプションは、 リビジョン・コントロール・システム (RCS) マージによって使用され、 マージされたファイル内で重複している変更を必ず保存して、ユーザーに知らせます。
-e File2File3 間のすべての変更 (つまり、通常 ==== および ==== 3 のフラグが付けられた変更) を File1 に組み込むために、ed コマンドと一緒に使用する編集スクリプトを作成します。
-x ==== のフラグが付いた変更だけを組み込むための編集スクリプトを生成します。

3 つのファイル間の相違を表示するには、次のように入力します。

diff3 fruit.a fruit.b fruit.c

fruit.afruit.b、および fruit.c に、以下のデータが入っていると、

fruit.a                fruit.b                 fruit.c
banana                 apple                   grape
grape                  banana                  grapefruit
kiwi                   grapefruit              kiwi
lemon                  kiwi                    lemon
mango                  orange                  mango
orange                 peach                   orange
peach                  pear                    peach
pare

diff3 コマンドからの出力は、これらのファイル間の相違を次のように示します (右側のコメントは出力されません)。


====            All three files are different.
1:1,2c          Lines 1 and 2 of the first file, fruit.a
  banana
  grape
2:1,3c          Lines 1 through 3 of fruit.b
  apple
  banana
  grapefruit
3:1,2c          Lines 1 and 2 of fruit.c
  grape
  grapefruit
====2           The second file, fruit.b, is different.
1:4,5c          Lines 4 and 5 the same in fruit.a and fruit.c.
2:4a            To make fruit.b look same, add after line 4.
3:4,5c
  lemon
  mango
====            The first file, fruit.a, is different.
1:8c
  pare
2:7c            fruit.b line 7 and fruit.c line 8 are the same
  pear
3:7a

ファイル

項目 説明
/usr/bin/diff3 diff3 コマンドを示します。
/usr/lbin/diff3prog diff3 シェル・スクリプトによって呼び出されます。