.\" You may copy, distribute and modify under the terms of the LDP General .\" Public License as specified in the LICENSE file that comes with the .\" gnumaniak distribution .\" .\" The author kindly requests that no comments regarding the "better" .\" suitability or up-to-date notices of any info documentation alternative .\" is added without contacting him first. .\" .\" (C) 2002 Ragnar Hojland Espinosa .\" .\" GNU diff3 man page .\" man pages are NOT obsolete! .\" .\" .\" Japanese Version Copyright (c) 2000 NAKANO Takeo all rights reserved. .\" Translated Sun 12 Mar 2000 by NAKANO Takeo .\" .\"WORD: overlapping (changes) 重複している (変更) .\" .TH DIFF3 1 "October 2002" "GNU diff Utilities 2.8.1" .SH 名前 diff3 \- 3 つのファイル間にある違いを探す .SH 書式 .B diff3 [\fB\-3aeimxAETX\fP] [\fB-L\fP \fILABEL\fR] [\fB\-\-easy\-only\fP] [\fB\-\-ed\fP] [\fB\-\-initial\-tab\fR] [\fB\-\-label=\fILABEL\fR] [\fB\-\-merge\fP] [\fB\-\-overlap\-only\fP] [\fB\-\-show\-all\fP] [\fB\-\-show\-overlap\fP] [\fB\-\-text\fP] \fIMINE OLDER YOUR .B diff3 [\fB\-v\fP] [\fB\-\-help\fP] [\fB\-\-version\fP] .SH 説明 .B diff3 は 3 つのファイルを比較し、それらの違いの説明を出力する。 比較対象となるファイルは .IR MINE ", " OLDER ", " YOURS である。これら三つのファイルのうちの一つを .RB ` \- ' としてもよく、その場合そのファイルは標準入力から読み込まれる。 通常 .B diff3 は自分の作業のために .B diff を起動する。しかし .B BDIFF 環境変数に他のプログラムを設定すれば、 そのプログラムを使うように変更できる。 .SH オプション .TP .B \-3, \-\-easy\-only .B \-e と似ているが、重複していない変更部分だけを出力する。 .TP .B \-a, \-\-text ファイルがテキストには見えないような場合でも、 全てのファイルをテキストとみなして 1 行ずつ比較を行う。 .TP .B \-e, \-\-ed .I OLDER から .I YOURS へのすべての変更を .I MINE にマージするような .I ed スクリプトを生成する。 .TP .B \-i System V 互換性のために、 .B ed スクリプトの末尾に .RB ` w "' コマンドと `" q ' コマンドを生成する。このオプションは .B \-AeExX3 のいずれかのオプションと共に用いなければならない。また .B \-m と同時に指定することはできない。 .TP .B \-m, -\-merge ed スクリプトを 1 番目のファイルに適用し、その結果を標準出力に送る。 .B diff3 の出力を .B ed に送るのと異なり、 このオプションの動作はバイナリファイルや改行されていない行にも適用できる。 ed スクリプトのオプションが何も指定されなければ、 .B \-A を暗黙のうちに指定する。 .TP .B \-x, \-\-overlap\-only .B \-e と似ているが、重複している変更だけを出力する点が異なる。 .TP .B \-A, \-\-show\-all .I OLDER から .I YOURS への全ての変更を .I MINE にマージする。重複している変更はブラケット行で囲って出力する。 .TP .B \-E, \-\-show\-overlap .\"nakano: これは原文から間違い。 -E の出力が以下である。 .B \-e と似ているが、重複部分のブラケット行の第 1・第 3 行が異なる。 .B \-E では重複している変更は以下のようになる。 .sp .nf <<<<<<< \fIMINE\fP lines from \fIMINE\fP ======= lines from \fIYOURS\fP >>>>>>> \fIYOURS\fP .fi .TP .BI "\-L " LABEL ", \-\-label=" LABEL .BR \-A ", " \-E ", " \-X オプションのブラケット行に、ラベル .I LABEL を用いる。このオプションはそれぞれの入力ファイルに対応して 3 つまで与えることができる。 デフォルトのラベルは入力ファイルのファイル名である。したがって .B "diff3 \-L X \-L Y \-L Z \-m A B C" は .B "diff3 \-m A B C" と同じように動作するが、 入力が .BR A ", " B ", " C ではなく .BR X ", " Y ", " Z のものであるかのような出力となる。 .TP .B \-T, \-\-initial\-tab .TP .B \-X \fB\-E\fP と似ているが、重複している変更だけを出力する点が異なる。 別の言い方をすれば、 \fB\-x\fP と似ているが、 \fB\-E\fP のように変更をブラケット行で囲う点が異なる。 .TP .B "\-\-help" 標準出力に使用方法のメッセージを出力して正常終了する。 .TP .B \-v, \-\-version .B diff3 のバージョン番号を出力する。 .SH 出力形式 それぞれの hunk (違いを表すテキストブロック) は `\fB====\fP' という行から始まる。 3 ファイルとも異なる hunk では ただの `\fB====\fP' となり、 1 ファイルが異なっている hunk では .RB ` 1 "', `" 2 "', `" 3 ' のいずれかが、その異なっているファイルを示すために付加される。 hunk には 2 つ、または 3 つの入力行のセットが含まれ、 それぞれに行セットがどのファイル由来のものかを示す 1 つまたは 2 つのコマンドが前置される。 デフォルトの動作では、入力行の前には 2 つのスペースが置かれ、 コマンドと区別できるようになっている。 .B \-T が指定されると、代わりにタブを用いるので、 入力にあったタブによる桁揃えが正しく保存される。 .SS コマンド形式 .TP .IB FILE : L a この hunk は .IR FILE " の " L 行以降に現れるべきもので、そのファイルには存在していない。 このファイルを修正して他のファイルと同じにするには、 他の行からの hunk の行を追加しなければならない。例えば `1:11a' は、その hunk はファイル 1 の 11 行目以降に追加すべきもので、 ファイル 1 には含まれていないこと示す。 .TP .IB FILE : R c この hunk には、 .IR FILE " の行範囲 " R が含まれている。行範囲 \fIR\fP は 2 つの行番号をコンマで区切ったものである。 数字が一つだったら 1 行だけの範囲と解釈される。 このファイルを編集して他のファイルと同じにするには、 その行範囲を、他のファイルからとってきて変更しなければならない。 例えば `2:11,13c' は、この hunk は 2 番目のファイルの 11〜13 行目からとってきたものであることを示す。 .sp 入力行セットの最後の行が改行で終わっていない場合は、 出力の次の行が `\fB\\\fP' で始まるので、改行で終わっている場合と区別できる。 .\"nakano: 動作確認はしていない(^^; .SH 返り値 .B diff3 は以下のどれかの値で終了する: .TP .B 0 .B diff3 は成功し、重複している変更 (衝突) は存在しなかった。 .TP .B 1 重複が見付かった。 .TP .B 2 何らかのエラーが起こった。 .SH 関連項目 .BR cmp (1), .BR comm (1), .BR diff (1), .BR ed (1), .BR patch (1), .BR sdiff (1), .SH 注意 プログラムのバグについては bug-gnu-utils@gnu.org に報告してください。 ページの更新は Ragnar Hojland Espinosa が行っています。