diff [–BbefHhimNnrsw] [–C n] [–c[n]] [–Difname] [-M mark] [-W option[,option]...] path1 path2
diff コマンドは、引数 path1 に指定された ファイルを、引数 path2 に指定されたファイルに変換するために必要な 変更の最小のセットを判別します。
入力ファイルはテキスト・ファイルでなければなりません。どちらか (ただし、どちらかだけ) のファイル名が –である場合は 、diff はそのファイルの標準入力 (stdin) の コピーを使用します。path1 または path2 のうちの一方だけが ディレクトリーである場合、diff はそのディレクトリー内の、もう一方のファイル名と同じ名前のファイルを使用します。両方ともディレクトリーである場合 、diff は 2 つのディレクトリー内の同じファイル名を持ったファイルを比較します。しかし、–r オプションを指定しない限り、サブディレクトリー内のファイルは比較しません。 2 つのディレクトリーを比較する場合、diff はキャラクター型スペシャル・ファイル または FIFO スペシャル・ファイルとその他のファイルとを比較しません。
デフォルトでは、出力は、ed テキスト・エディターに似た スタイルの、変更の記述で構成されています。まず、変更のタイプを示す 1 行が表示されます。変更の タイプは、a (追加)、d (削除)、および c (変更) の 3 つです。出力は対称的なものになります。すなわち 、path1 の削除はその相手である path2 の追加です。diff は、各操作に path1 の行番号 (または範囲) の接頭部を付け、また path2 の行番号 (または範囲) の接尾部を付けます。変更のタイプを示す 行の後に、diff は削除または追加された行を表示します。path1 から の行には < の接頭部が付けられ、path2 からの行に は > が付けられます。
例えば、あるファイルがある場所に 3 つのスペースと 1 つのタブのストリングを 持っており、他のファイルが 2 つのスペースのストリングを同じ場所に 持っていたとすれば、diff はこれを相違として報告しません。
pgmcodeset を指定したが filecodeset を省略した場合、ファイルが別のコード・セットでタグ付けされていても、ファイルのデフォルトのコード・セットは ISO8859-1 です。filecodeset と pgmcodeset のいずれも指定しない場合、自動変換が有効であるか、_TEXT_CONV 環境変数にテキスト変換が指定されていない限り、テキスト変換は実行されません。 テキスト変換について詳しくは、z/OS UNIX シェル・コマンドのテキスト変換を制御するを参照してください。
filecodeset または pgmcodeset を指定した場合、このコマンドの呼び出しに対する自動変換は無効となり、-B オプションを指定しても無視されます。自動変換について詳しくは、「z/OS UNIX System Services 計画」を参照してください。
filecodeset の値を指定するときは、Unicode Service でサポートされる値を使用します。サポートされるコード・セットについて詳しくは、「z/OS Unicode Services ユーザーズ・ガイドおよび解説書」を参照してください。
filecodeset が指定されているが pgmcodeset が省略されている場合、デフォルトのプログラム・コード・セットは IBM-1047 です。filecodeset と pgmcodeset のいずれも指定しない場合、自動変換が有効であるか、_TEXT_CONV 環境変数にテキスト変換が指定されていない限り、テキスト変換は実行されません。 テキスト変換について詳しくは、z/OS UNIX シェル・コマンドのテキスト変換を制御するを参照してください。
filecodeset または pgmcodeset を指定した場合、このコマンドの呼び出しに対する自動変換は無効となり、-B オプションを指定しても無視されます。自動変換について詳しくは、「z/OS UNIX System Services 計画」を参照してください。
制約事項: pgmcodeset のサポートされる値は、IBM-1047 と 1047 のみです。
diff -W filecodeset=UTF-8,pgmcodeset=IBM-1047 myUtf8File01 myUtf8File02
diff -B myMisTaggedFile01 myMisTaggedFile02
Company X Price List:
$ 0.39 -- Package of Groat Clusters
$ 5.00 -- Candy Apple Sampler Pack
$ 12.00 -- Box of Crunchy Frog Chocolates
$ 15.99 -- Instant Rain (Just Add Water)
$ 20.00 -- Asparagus Firmness Meter
$ 25.00 -- Package of Seeds for 35 Herbs
$ 30.00 -- Child's Riding Hood (Red)
$ 35.00 -- Genuine Placebos
$ 45.00 -- Case of Simulated Soy Bean Oil
$ 75.88 -- No-Name Contact Lenses
$ 99.99 -- Kiddie Destructo-Bot
$125.00 -- Emperor's New Clothes
Company X Price List:
$ 0.39 -- Package of Groat Clusters
$ 5.49 -- Candy Apple Sampler Pack
$ 12.00 -- Box of Crunchy Frog Chocolates
$ 15.99 -- Instant Rain (Just Add Water)
$ 17.00 -- Simulated Naugahyde cleaner
$ 20.00 -- Asparagus Firmness Meter
$ 25.00 -- Package of Seeds for 35 Herbs
$ 30.00 -- Child's Riding Hood (Red)
$ 35.00 -- Genuine Placebos
$ 45.00 -- Case of Simulated Soy Bean Oil
$ 75.88 -- No-Name Contact Lenses
$ 99.99 -- Kiddie Destructo-Bot
diff price1 price2
を発行すると、以下が表示されます。
3c3
< $ 5.00 -- Candy Apple Sampler Pack
--->
$ 5.49 -- Candy Apple Sampler Pack
5a6
> $ 17.00 -- Simulated Naugahyde cleaner
13d13
< $125.00 -- Emperor's New Clothes
次のように –c オプションを追加して、diff -c price1 price2
を発行すると、以下が表示されます。
*** price1 Wed Oct 1 13:59:18 1997
--- price2 Wed Oct 1 14:03:36 1997
***************
*** 1,8 ****
Company X Price List:
$ 0.39 -- Package of Groat Clusters
! $ 5.00 -- Candy Apple Sampler Pack
$ 12.00 -- Box of Crunchy Frog Chocolates
$ 15.99 -- Instant Rain (Just Add Water)
$ 20.00 -- Asparagus Firmness Meter
$ 25.00 -- Package of Seeds for 35 Herbs
$ 30.00 -- Child's Riding Hood (Red)
--- 1,9 ----
Company X Price List:
$ 0.39 -- Package of Groat Clusters
! $ 5.49 -- Candy Apple Sampler Pack
$ 12.00 -- Box of Crunchy Frog Chocolates
$ 15.99 -- Instant Rain (Just Add Water)
+ $ 17.00 -- Simulated Naugahyde cleaner
$ 20.00 -- Asparagus Firmness Meter
$ 25.00 -- Package of Seeds for 35 Herbs
$ 30.00 -- Child's Riding Hood (Red)
***************
*** 10,13 ****
$ 45.00 -- Case of Simulated Soy Bean Oil
$ 75.88 -- No-Name Contact Lenses
$ 99.99 -- Kiddie Destructo-Bot
- $125.00 -- Emperor's New Clothes
--- 11,13 ----
詳しくは、ローカライズを参照してください。
最長の入力行は 1024 バイトです。–h の場合を除いて、ファイルは INT_MAX 行に制限されます。INT_MAX は limits.h 内で 定義されます。
POSIX.2、X/Open 移植性ガイド、UNIX システム。
The –B、–D、–H、–h、–i、–m、–s、–W、および –w オプション、および –c オプションの n 引数は POSIX 標準の拡張です。
cmp、comm、patch
J. W. Hunt and M. D. McIlroy 著、An Algorithm for Differential File Comparison (Report 41, from Computing Science, Bell Laboratories, Murray Hill, NJ 07974, (June 1976) の 9 ページ)。