総合手引 | セクション 1 | English | Deutsch | オプション |
もし、 from-file としてディレクトリを指定し to-file がディレクトリでなかった場合、 diff は to-file で指定したファイル名と同じ名前のファイルを from-file のディレクトリから捜して、そのファイルとの間で比較を行ないます。 その逆に、 to-file がディレクトリで from-file がディレクトリでない場合も、同様に処理します。なお、 ディレクトリでない方のファイルに `-' を指定することはできません。
from_file と to_file の両方がディレクトリだった場合、 diff は、両方のディレクトリ内でファイル名が同じファイル同士をアルファベット順に 比較していきます。この時、 -r もしくは、 --recursive オプションが指定されていれば、 サブディレクトリの中のファイルも再帰的に比較していきます。 diff は、ディレクトリの実際の中身をファイルのように比較しません。標準入力は名前 が無く``同じ名前を持ったファイル''の概念が適用できないので、 完全指定したファイルは標準入力であってはなりません。
diff のオプションは - で始まります。よって通常 from_file と to_file は - で始まりません。しかしながらそれ自体が引数である -- の後では、 残された引数が - で始まっていてもファイル名として扱います。
-lines | -c か -u と組み合わせて、相違点の前後 (context) の表示行数を `数字' で指定します。このオプションだけでは、出力フォーマットは変化しません。 このオプションは旧式 (obsolete) です。 patch をうまく働かせるためには、少なくとも前後 2 行ずつは必要です。 |
-a | |
--text | テキストファイルでないようなものについても、全てのファイルを テキストとみなして、1 行づつ比較していきます。 |
-b | |
--ignore-space-change | |
空白の数の違いを無視します。 | |
-B | |
--ignore-blank-lines | |
空行が入っているもしくは足りないなどの違いは無視します。 | |
--brief | |
-q | ファイルの違いの詳細は表示せず、違っているかどうかだけを報告します。 |
-c | ``context output format'' を使用します。 |
-C 行数 | |
--context[=行数] | |
``context output format'' を使用します。不一致の行の前後に、`行数' で指定した行数だけ表示します (context)。 patch をうまく働かせるためには、少なくとも 2 行の context が必要です。 | |
--changed-group-format=format | |
if-then-else 形式の両方のファイルから異なった行を含む部分を出力する ために format を使用します。 format 文字列に指定可能なものの詳細は、 diff の info 文書を参照してください。 | |
-d | |
--minimal | |
より小さな差分を見つけるアルゴリズムに変更します。このオプションを 指定すると diff の処理速度は遅くなります (かなり遅くなることもあります)。 | |
-D name | |
--ifdef=name | |
プリプロセッサマクロ name の条件記述を用いた if-then-else 形式にマージして出力します。 | |
-e | |
--ed | ed のスクリプトの形式で出力します。 |
--exclude=pattern | |
-x pattern | |
ディレクトリ単位の比較の時、ファイルやディレクトリ名が pattern にマッチした場合は、比較しないようにします。 | |
--exclude-from=file | |
-X file | ディレクトリ単位の比較の時、ファイルやディレクトリ名が file の中に含まれるパターンにマッチした場合は、比較しないようにします。 |
--expand-tabs | |
-t | 入力ファイルのタブによる位置調整をくずさないよう、タブを空白に展開します。 |
-f | |
--forward-ed | |
ed のスクリプトと一見同じような出力をします。ただし、ファイルに 現われる順序が違います。 | |
-F regexp | |
--show-function-line=regexp | |
context diff 形式および unified diff 形式において、差分のブロック毎に、 差分のブロックに先行し、かつ regexp にマッチする行のうちでもっともブロックに近い行を出力します。 | |
-h | なにも機能はありません。通常の UNIX の diff との互換のためにあります。 |
-H | |
--speed-large-files | |
小さな違いがあちこちにあるような大きなファイルの処理を 高速化するヒューリスティックを用います。 | |
--horizon-lines=lines | |
2 つのファイルの先頭と末尾における共通部分のうち lines 行を残したままで差分を検索します | |
-i | |
--ignore-case | |
英大文字と小文字の違いを無視します。 | |
-I regexp | |
--ignore-matching-lines=regexp | |
正規表現 regexp にマッチした行が追加あるいは削除されていても無視します。 | |
--initial-tab | |
-T | 通常形式および context diff 形式において、テキスト先頭に空白文字ではなく タブを入れます。行に含まれるタブが元と同じような形で見えます。 |
-l | |
--paginate | |
出力を pr に通してページ付けを行ないます。 | |
-L label | |
--label=label | |
context diff 形式および unified diff 形式において、 出力に付加されるファイル名の代わりに、 label で指定したラベルを使用します。 | |
--left-column | |
2 段組形式において、2 つの共通の行の左の欄だけを表示します。 | |
--line-format=format | |
format を用いて、すべての入力行を if-then-else 形式で出力します。 | |
-n | |
--rcs | RCS形式の差分を出力します。 -f と似ていますが、各コマンドには適用した行数がついた形となります。 |
-N | |
--new-file | |
ディレクトリ単位の比較の時に、片方のディレクトリにだけ存在するファイルに 関しては、他のディレクトリでは空のファイルがあるものとして扱います。 | |
--new-group-format=format | |
2 番目のファイルにだけ存在する部分をif-then-else 形式で出力するために format を使います。 | |
--new-line-format=format | |
if-then-else 形式で 2 番目のファイルにだけ存在する行を出力するために使う format | |
-o | 古い伝統的な出力フォーマットを使う |
--old-group-format=format | |
if-then-else 形式で 1 番目のファイルにだけ存在する部分を出力するために使う format | |
--old-line-format=format#### | |
if-then-else 形式で 1 番目のファイルにだけ存在する行を出力するために使う format | |
-p | 各変更が含まれる C の関数を表示します。 |
-P | |
--unidirectional-new-file | |
ディレクトリの比較において、2 番目のディレクトリにしか存在しないファイル があれば、1 番目のディレクトリにもサイズ 0 のファイルがあるとみなします。 | |
-r | |
--recursive | |
ディレクトリ単位の比較の時に、サブディレクトリがあれば、その配下も再帰的に 検索して比較を行ないます。 | |
--report-identical-files | |
-s | ファイルの内容が同じだった時に、その旨を報告します。 |
-S file | |
--starting-file=file | |
ディレクトリ単位の比較の時に、 file で指定したファイル名から実行します。これは、一連の比較作業を中断した後に 途中から再開するのに便利です。 | |
--sdiff-merge-assist | |
sdiff 作業の手助けになる補足の情報を表示します。普通、 sdiff が diff を実行する際にはこのオプションを付けるので、 ユーザが直接このオプションを使うことはありません。 | |
--show-c-function | |
C のプログラムを認識して、どの関数で変更があったかを表示します。 | |
--side-by-side | |
-y | 比較する 2 つのファイルの内容を、横に並べて表示します (side-by-side 形式)。 |
--suppress-common-lines | |
side-by-side 形式の表示で、同じ内容の行は表示しないようにします。 | |
-u | unified diff 形式を用います。 |
--unchanged-group-format=format | |
if-then-else 形式で変更がなかった部分を出力するために使う format | |
--unchanged-line-format=format | |
if-then-else 形式で変更がなかった行を出力するために使う format | |
-U 行数 | |
--unified[=行数] | |
unified diff 形式にします。不一致の行の前後に、`行数' で 指定した行数のマッチした行も表示します。`行数' を省略した場合は 3 行になります。 patch をうまく働かせるためには、少なくとも前後 2 行は必要です。 | |
-v | |
--version | |
diff のバージョンを表示します。 | |
-w | |
--ignore-all-space | |
比較時に、水平方向の空白は無視するようにします。 | |
-W columns | |
--width=columns | |
side-by-side 形式の表示で、1 行の幅を columns で指定した文字数にします。 | |
diff -crN foo.orig foo >foo.diff
と打ち込みます。 ここで、 foo.orig と foo は、ディレクトリ階層であってもかまいませんし、 単一ファイルであってもかまいません。
22sep1993 | DIFF (1) | GNU Tools |
総合手引 | セクション 1 | English | Deutsch | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | If you are angry with someone, you should walk a mile in their shoes - then you'll be a mile away from them, and you'll have their shoes. | ” |