-u
追加の数字引数を受け取ることができるようですが、静かにマニュアルが出てこないですね、
それは言う、
-u, -U NUM, --unified[=NUM]
output NUM (default 3) lines of unified context
誰かが例を挙げてください。
動作しているものが見つかりません。
答え1
-u 独自に結果を出力します。「統一形式この数値は、コンテキストに含まれる隣接行の数だけを変更します。
答え2
Wikipedia記事から直接diff
:
Unidiffはもともと1990年8月にWayne Davisonによって開発されました(unidiffはcomp.sources.misc 14巻に記載されています)。 1ヶ月後、Richard Stallmanは1991年1月にリリースされたGNU diff 1.15でデビューしたGNUプロジェクトのdiffユーティリティに統合diffサポートを追加しました。その後、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;
バラよりWikipediaの違い詳細については。