構文
diff3 [-exEX3] file1 file2 file3
説明
diff3 は、ファイルの 3 つのバージョンを比較し、
以下のコードのフラグが付いたテキストの一致しない範囲をプリントします。
| ==== | | 3 つのファイルがすべて異なります。 |
| ====1 | | file1 が異なります。 |
| ====2 | | file2 が異なります。 |
| ====3 | | file3 が異なります。 |
ファイルの与えられた範囲を、 別のものに変換するために必要な変更のタイプは、
以下の方法のいずれかで示されます。
| f:n1a | | テキストはファイル f の行番号 n1 の後に追加されます。ただし、 f = 1, 2, または 3 です。 |
| f:n1,n2c | | テキストは行 n2 から行 n1 までの範囲で変化します。 n1 = n2 の場合、範囲は n1 に短縮できます。 |
範囲の元の内容は c 指示の直後にきます。
2 つのファイルの内容が同じであるとき、 より下位の番号のファイルの内容が抑止されます。
| -e | | 通常 ==== および ====3 のフラグが付く、 file2 および file3 の間のすべての変更を、 file1 へ取り込む場合に使用できる ed エディタのスクリプトが、 diff3 により
生成されます ( ed(1) を参照)。 |
| -x | | ==== のフラグの付いた変更のみを取り込むためのスクリプトを生成します。 |
| -3 | | ====3 のフラグの付いた変更のみを取り込むためのスクリプトを生成します。 |
| -E | | file2 および file3 の間のすべての変更を取り込むスクリプトを生成します。
ただし、オーバーラップしている変更 (すなわち、通常のリストでは ==== フラグの付く変更) は、異なるものとして扱います。
両方のファイルにオーバーラップしている行は、 <<<<<< の行
と >>>>>> の行で囲まれた編集スクリプトにより挿入されます。 |
| -X | | ==== のフラグの付いた変更のみを取り込むスクリプトを生成します。 これらの変更の扱いは -E オプションと同じです。 |
以下のコマンドは、生成されたスクリプトを file1 に適用します。
(cat script; echo '1,$p') | ed - file1
多言語化対応
サポートされるコードセット
シングル/マルチバイトの文字コードセットがサポートされます。
警告
単一のピリオド (.) で構成されるテキスト行は -e を無効にします。
64K バイトを超えるファイルは動作しません。
ファイル
/var/tmp/d3*
/usr/lbin/diff3prog