二つのファイル、またはディレクトリを比較して違いを探します。
diff [オプション] ファイル名1 ファイル名2 diff [-v] [--help] [--version]
オプション名 | 説明 |
-LINES | バージョン2.8.1では無効です。 |
-a,--text | ファイルの種類を判断せず強制的に一行ごとの比較処理を行います。 |
-b,--ignore-space-change | 空白文字の数を比較しません。 |
-c | 出力形式をcontext出力形式に設定します。 |
-d,--minimal | より小さな差分データを生成するためアルゴリズムを変更します。 |
-e,--ed | 出力形式をedスクリプトに設定します。 |
-f,--forward-ed | 出力形式をedスクリプト類似の形式に設定します。 |
-h | 無効のオプションです。 Unixとの互換性を保つためだけに維持されています。 |
-i,--ignore-case | 処理の際、大文字小文字の区別をつけません。 |
-l,--paginate | 出力の際prコマンドを通します。 |
-n,--rcs | 出力形式をRCS形式に設定します。 |
-p,--show-c-function | C言語のソースに対して処理を行った際、変更箇所が存在する関数を表示します。 |
-q,--brief | 比較するファイル間での相違の有無のみを判断します。 |
-r,--recursive | ディレクトリの比較を行う際に、発見したサブディレクトリの比較を再帰的に行います。 |
-s,--report-identical-files | 比較するファイル間で全く違いが存在しなかった場合にも報告を行います。 |
-t,--expand-tabs | 入力ファイルでタブが存在する部分を出力する場合、タブのスペースへの展開を行います。 |
-u | 出力形式をunified出力形式に設定します。 |
-w,--ignore-all-space | 行の比較を行う際にスペースは無視します。 |
-x 文字列,--exclude=文字列 | ディレクトリの比較を行う際に、base部が指定された文字列にマッチする名前のファイルやディレクトリは処理の対象外とします。 |
-y,--side-by-side | 出力形式をside-by-side出力形式に設定します。 |
-B,--ignore-blank-lines | 空行の有無だけの違いについては無視します。 |
-C 行数,--context[=行数] | 出力形式がcontext出力形式である場合前後LINES行分のデータを出力します。 |
-D 文字列,--ifdef=文字列 | 入力したファイルをマージしたデータを出力する場合#if~#else if~#endif片側の記述を無効にします。条件となるマクロはNAMEで指定された文字列を指定します。 |
-E,--ignore-tab-expansion | タブを展開したことにより起こるスペース文字数の変化は無視します。 |
-F REGEXP,--show-function-line=REGEXP | 出力形式がcontext出力形式かunified形式の場合、差分データブロックを前方からREGEPXを検索文字列として検索しマッチした一番近い行を出力します。 |
-H,--speed-large-files | ヒューリスティックな手法を用いることにより小規模な相違が大量に存在する場合の処理を高速にします。 |
-I REGEXP,--ignore-matching-lines=REGEXP | REGEXPで指定された正規表現にマッチする行については比較の対象外とします。 |
-L 文字列,--label=文字列 | 出力形式がcontext出力形式かunified形式である場合、ファイル名では指定した文字列をヘッダに使用します。 |
-N,--new-file | ディレクトリを比較する際、片側にだけ存在するファイルについては本来存在しない側にサイズ0の同名のファイルがあるものとして処理を行います。 |
-P,--unidirectional-new-file | ディレクトリを比較する際、二つ目に指定したディレクトリにのみ存在するディレクトリについては一つ目に指定したディレクトリ内に同名の空のディレクトリがあるものとして処理を行います。 |
-S ファイル・ディレクトリ, --starting-file=ファイル・ディレクトリ |
ディレクトリの比較を行う場合、指定のファイル又はディレクトリから処理を開始します。 |
-T,--initial-tab | 出力形式がnormal形式がcontext形式の場合に文字データの前に表示されるスペースをタブに置き換えます。 |
-U 行,--unified[=行] | 出力形式がunified出力形式である場合に、相違が発見された行の前後の行を出力します。 |
-W 幅,--width=幅 | 出力形式がside-by-side形式の場合に指定される値に出力の幅を設定します。 |
--binary | データ読み書きの形式をバイナリモードに設定します。 |
--changed-group-format=出力形式 | FORMATで指定される出力形式で双方のファイルで異なる行のグループを出力を行います。 |
--diff-program= プログラム名 | 指定されるdiffと互換性のある外部プログラムを用いて比較処理を行います。 |
--from-file=ファイル名 | 各オペランドと指定されるファイルとの比較処理を行います。 |
--horizon-lines=行数 | 指定される行数分相違部分の前後にある共通部分を保存することにより、差分出力をコンパクトにします。 |
--ignore-file-name-case | ファイル名を比較する際に大文字小文字の区別をつけません。 |
--inhibit-hunk-merge | hunkの境界が移動するようなマージ処理は行いません。 |
--left-column | 出力形式がside-by-side形式の場合に共通する行を左側の列にのみ出力します。 |
--line-format=出力形式 | 出力形式がif-then-else形式の場合に指定された形式で全ての行を出力します。 |
--new-group-format=出力形式 | 出力形式がif-then-else形式の場合、後に指定されたファイルのみに存在する行のグループを指定された形式で行います。 |
--new-line-format=出力形式 | 出力形式でif-then-else形式の場合、後に指定されたファイルのみに存在する行を指定された形式で行います。 |
--no-ignore-file-name-case | ファイル名を比較する場合に大文字小文字の区別をつけます。 |
--old-group-format=出力形式 | 出力形式がif-then-else形式の場合、先に指定されたファイルのみに存在する行グループを指定された形式で出力します。 |
--old-line-format=出力形式 | 出力形式がif-then-else形式の場合、先に指定されたファイルのみに存在する行を指定された形式で出力します。 |
--sdiff-merge-assist | sdiff用追加情報の表示処理を行います。 |
--strip-trailing-cr | 行末に存在する改行コード(CR)を取り除く処理を行います。 |
--suppress-common-lines | 出力形式がside-by-side形式の場合、比較するファイル間に共通で存在する行の表示を行いません。 |
--unchanged-group-format=出力形式 | 出力形式がif-else-then形式の場合、比較を行う双方のファイルに共通する行グループを指定された形式で出力します。 |
--unchanged-line-format=出力形式 | 出力形式がif-else-then形式の場合、比較を行う双方のファイル間に共通で存在する行を指定された形式で出力します。 |
--help | 使用方法を表示します。 |
-v,--version | バージョン情報を表示します。 |
二つのファイル(「SampleText01.txt」、「SampleText02.txt」が存在するものとします。)を比較します。
$ cat SampleText01.txt [Enter] SampleText01 UNIX-LINUX COMMAND diff コマンドリファレンス IT専科 $ cat SampleText02.txt [Enter] SampleText02 UNIX-LINUX COMMAND diff command reference itsenka $ diff SampleText05.txt SampleText06.txt [Enter] 1c1 < SampleText01 --- > SampleText02 3c3 < コマンドリファレンス IT専科 --- > command reference itsenka