Backup source of UNIX/コマンド/テキスト処理/diff3(No. 1)

#navi(UNIX/コマンド)

#contents
diff3 コマンドは diff コマンドと違い、3つのファイル間の差異を表示します。
例えば、ある1つのファイルがあり、
自分がそのファイルに変更を加えたと同時に、他の人もそのファイルに変更を加えていた場合に、その差異を表示、というより変更をマージするために使用します。

 % diff3 [自分のファイル] [変更前のファイル] [相手のファイル]
のように実行すると差異を表示できます。
 % diff3 -m [自分のファイル] [変更前のファイル] [相手のファイル]
のように実行すると、[変更前のファイル]から[相手のファイル]への変更を[自分のファイル]にマージした内容を表示できます。

例えばファイルの内容が以下のような場合、
|~自分のファイル|~変更前のファイル|相手のファイル|
|This is a best.&br;&br;This is a test.&br;&br;This is a best.|This is a test.&br;&br;This is a test.&br;&br;This is a test.|This is a test.&br;&br;This is a rest.&br;&br;This is a rest.|
 % diff3 -m [自分のファイル] [変更前のファイル] [相手のファイル]
では、
#pre
This is a best.

This is a rest.

<<<<<<< [自分のファイル]
This is a best.
||||||| [変更前のファイル]
This is a test.
=======
This is a rest.
>>>>>>> [相手のファイル]
#pre(end)
のように表示されます。
最初と2つ目はうまくマージされていますが、
最後は両方で変更されていたので conflict(衝突) が発生して
#pre
<<<<<<< MINE
lines from MINE
||||||| OLD
lines from OLD
=======
lines from YOURS
>>>>>>> YOURS
#pre(end)
のようになってしまっています。
こういうときは仕方がないので、手作業で編集するしかありません。
grep '<<<<<<<' のようにして衝突部分があったかどうかを調べましょう。

RIGHT:参考:[[Manpage of DIFF3>http://www.linux.or.jp/JM/html/gnumaniak/man1/diff3.1.html]]
written by s1080134
----
#vote2(役に立った,まあまあ,役に立たなかった,notimestamp)
役に立たなかった場合コメントをお願いします。
#areaedit
#comment(below)
#areaedit(end)
xrea