DIFF3(1)

名称
diff3 - 3 つのテキストファイルの差を求める

書式
diff3 [options] mine older yours

解説
diff3 は、3 つのファイルの間で比較を行ない、それらの違いを出力します。 比較するファイルは mine, older, yours です。 これらのうち、1 つは - を使用しても良く、これはファイルの代わりに標準入力を読むことを diff3 に指示します。

  オプション
以下が GNU diff3 が受け付ける全てのオプションのまとめです。 (引数を取らない限り)1 文字のオプションをまとめて 1 つのコマンドライン引数に出来ます。

-a  テキストファイルでないようなものについても、 全てのファイルをテキストとみなして、1 行づつ比較していきます。

-A  older から yours への変更の全てを、 mine に統合します。同じ行への変更で矛盾が出る部分は、ブラケット行で囲みます。

-B  -A の古い挙動です。矛盾のある部分を表示しません。

-e  older から yours への変更の全てを、 mine に統合するような ed のスクリプトを生成します。

-E  -e と同様ですが、 mine と yours とで重複する変更行をブラケットで括ります。 -e では重複する行については、次のように出力されます:

    <<<<<<< mine
    lines from mine
    =======
    lines from yours
    >>>>>>> yours

--ed
    older から yours への変更の全てを、 mine に統合するような ed のスクリプトを生成します。

--easy-only
    mine と yours の変更箇所が重複するような行を出力しない事を除いては、 -e と同等です。

-i  System V との互換のため、 ed のスクリプトの最後に、 w と q を出力します。このオプションは、オプション -AeExX3 のどれか 1 つと組み合わせて使われなければなりません。また、オプション -m と組み合わせる事はできません。

--initial-tab
    出力行の前に、通常の 2 文字の空白の代わりにタブを入れます。 各行の見た目が、タブ位置に揃います。

-L label

--label=label
    -A, -E, -X の各オプションで出力されるブラケットの部分に出力されるファイル名の代わりに label で指定したラベルを使用します。このオプションは、 mine, older, yours の 3 つのファイルに対応して、3 回指定できます。 デフォルトは入力ファイル名です。 diff3 -L X -L Y -L Z -m A B C は diff3 -m A B C と比べると、 A, B, C が出力される代わりに、ラベル X, Y, Z が出力されます。

-m

--merge
    mine を生成するエディットスクリプトをつくり、結果を標準出力に送ります。 diff3 の出力を ed にパイプでつなぐのと異なり、 バイナリファイルや不完全な行に対しても適用できます。 エディットスクリプトのオプションが指定されてない場合は、 -A として処理します。

--overlap-only
    mine と yours の変更箇所が重複する行だけを出力する点を除いて、 -e と同様です。

--show-all
    older から yours への変更を mine に統合します。重複する部分は、 ブラケット行で囲みます。

--show-overlap
    -e と同様ですが、mine と yours で重なる変更行をブラケットで括ります。

-T  出力行の前に、通常の 2 文字の空白の代わりにタブを入れます。 各行の見た目が、タブ位置に揃います。

--text
    テキストファイルでないようなものについても、 全てのファイルをテキストとみなして、1 行づつ比較していきます。

-v

--version
    diff3 のバージョン番号を表示します。

-x  -e と似ていますが、重なる変更のみを表示します。

-X  -E と同様ですが、重なる変更のみを表示します。 言い替えると、 -x と同様ですが、 -E と同じように変更をブラケットで括ります。

-3  -e と同様ですが、重ならない変更部分のみを出力します。

関連項目
cmp(1), comm(1), diff(1), ed(1), patch(1), sdiff(1).

診断
diff3 が成功した場合は 0 を、なんらかの矛盾が発見された場合は 1 を、何かエラーが おきた場合は 2 を返します。