追加の数値引数を取ることができるようです-u
が、マニュアルをよく理解していません。
それはこう言っている、
-u, -U NUM, --unified[=NUM]
output NUM (default 3) lines of unified context
誰か例を挙げてください。
動作するものが見つかりませんでした。
答え1
-u のみで出力結果は「統一」形式この数字は、コンテキストとして含まれる隣接行の数を変更するだけです。
答え2
Wikipedia の記事より引用diff
:
統合コンテキスト diff は、もともと Wayne Davison によって 1990 年 8 月に開発されました (comp.sources.misc の第 14 巻に掲載された unidiff で)。Richard Stallman は 1 か月後に GNU プロジェクトの diff ユーティリティに統合 diff サポートを追加し、この機能は 1991 年 1 月にリリースされた GNU diff 1.15 で初めて導入されました。GNU diff はその後、コンテキスト形式を一般化して、diff の任意のフォーマットを可能にしました。
このフォーマットは、コンテキスト フォーマットと同じ 2 行のヘッダーで始まりますが、元のファイルの前には「---」が付き、新しいファイルの前には「+++」が付きます。その後に、ファイル内の行の差異を含む 1 つ以上の変更ハンクが続きます。変更されていないコンテキスト行の前にはスペース文字が付き、追加行の前にはプラス記号が付き、削除行の前にはマイナス記号が付きます。
ハンクは範囲情報で始まり、その後に行の追加、行の削除、および任意の数のコンテキスト行が続きます。範囲情報は二重アットマークで囲まれ、コンテキスト形式 (上記) で 2 行に表示される内容を 1 行にまとめます。範囲情報行の形式は次のとおりです。
@@ -l,s +l,s @@ optional section heading
次に、変更を加える必要があるファイル全体に、次のような行を追加します。
-check this dokument. On
+check this document. On
注記:A は-
削除されることを意味し、 a は+
追加されることを意味します。
このコマンドは、diff -U
2 つのファイル間で差異が発生しているポイントの周囲に隣接するテキストの行数を示す数値という追加のパラメータを取ることもできます。これは、差異が実際に何を伴うのかをよりよく理解するのに役立ちます。
例
ファイル1
$ cat file1.txt
The Rain in Spain by
Servants Poor Professor Higgins!
Poor Professor Higgins! Night and day
He slaves away! Oh, poor Professor Higgins!
All day long On his feet; Up and down until he's numb;
Doesn't rest; Doesn't eat;
ファイル2
$ cat file2.txt
The Rain in Spain by
added extra line here
Servants Poor Professor Higgins!
Poor Professor Higgins! Night and day
He slaves away! Oh, poor Professor Higgins!
All day long On his feat; Up and down untile he's numb;
Doesn't rest; Doesn't eat;
差分
$ diff -U 2 file1.txt file2.txt
--- file1.txt 2013-04-26 09:39:13.496835363 -0400
+++ file2.txt 2013-04-26 09:38:04.838299195 -0400
@@ -1,6 +1,7 @@
The Rain in Spain by
+added extra line here
Servants Poor Professor Higgins!
Poor Professor Higgins! Night and day
He slaves away! Oh, poor Professor Higgins!
-All day long On his feet; Up and down until he's numb;
+All day long On his feat; Up and down untile he's numb;
Doesn't rest; Doesn't eat;
見るウィキペディアの差分詳細については。