DIFF(1)

名前
diff - ファイルの行単位での比較

書式
diff [OPTION]... FILES

説明
FILES を行単位で比較します。

ロングオプションにおいて必須の引数であるものは、 ショートオプションにおいても必須です。

--normal
    通常の diff 形式で出力します (デフォルト)。

-q, --brief
    ファイルに違いがあった場合のみ報告します。

-s, --report-identical-files
    2 つのファイルが同じであった場合に報告します。

-c, -C NUM, --context[=NUM]
    コンテキスト形式を使用し、 前後の NUM 行 (デフォルトは 3 行) を出力します。

-u, -U NUM, --unified[=NUM]
    ユニファイド (unified) 形式を使用し、 前後の NUM 行 (デフォルトは 3 行) を出力します。

-e, --ed
    ed スクリプトを出力します。

-n, --rcs
    RCS 形式の diff を出力します。

-y, --side-by-side
    2 段組で出力します。

-W, --width=NUM
    NUM カラム以内で出力します (デフォルトは 130)。

--left-column
    2 段組出力において共通する行は左側のみ表示します。

--suppress-common-lines
    共通する行は表示しません。

-p, --show-c-function
    それぞれの変更箇所が、 どの C 関数内であるかを表示します。

-F, --show-function-line=RE
    RE に一致した直近の行を表示します。

--label LABEL
    ファイル名とタイムスタンプの代わりに LABEL を使います (複数指定可)。

-t, --expand-tabs
    出力にあたってタブ文字を空白文字に展開します。

-T, --initial-tab
    タブ文字を出力することで、タブ位置を揃えます。

--tabsize=NUM
    タブ位置を NUM カラムごとに設定します (デフォルトは 8)。

--suppress-blank-empty
    空の出力行に対して、空白文字やタブ文字の出力を行いません。

-l, --paginate
    ページ付けのために出力を 'pr' に受け渡します。

-r, --recursive
    再帰的にサブディレクトリ内を比較します。

--no-dereference
    シンボリックリンクはたどりません。

-N, --new-file
    存在しないファイルは空のファイルとして扱います。

--unidirectional-new-file
    存在しない最初のファイルは空のファイルとして扱います。

--ignore-file-name-case
    ファイル名の比較にあたって大文字小文字を区別しません。

--no-ignore-file-name-case
    ファイル名の比較にあたって大文字小文字を区別します。

-x, --exclude=PAT
    PAT に一致するファイルを除外します。

-X, --exclude-from=FILE
    FILE 内に記述されているいずれかのパターンに一致するファイルを除外します。

-S, --starting-file=FILE
    ディレクトリ比較を行う際に FILE から処理を始めます。

--from-file=FILE1
    FILE1 とすべての引数の間での比較を行います。 FILE1 はディレクトリとすることができます。

--to-file=FILE2
    すべての引数と FILE2 との間での比較を行います。FILE2 はディレクトリとすることができます。

-i, --ignore-case
    ファイル内容において、大文字小文字を区別しません。

-E, --ignore-tab-expansion
    タブ展開による違いを無視します。

-Z, --ignore-trailing-space
    行末のホワイトスペースは無視します。

-b, --ignore-space-change
    ホワイトスペース数の違いを無視します。

-w, --ignore-all-space
    ホワイトスペースをすべて無視します。

-B, --ignore-blank-lines
    空行だけの違いは無視します。

-I, --ignore-matching-lines=RE
    RE に一致する行は、 違いがないものとして無視します。

-a, --text
    ファイルはすべてテキストファイルとして扱います。

--strip-trailing-cr
    入力における文末のキャリッジリターンを取り除きます。

-D, --ifdef=NAME
    '#ifdef NAME' diff を使ったマージ結果を出力します。

--GTYPE-group-format=GFMT
    GTYPE 入力グループを GFMT を使ってフォーマットします。

--line-format=LFMT
    入力行を LFMT を使ってフォーマットします。

--LTYPE-line-format=LFMT
    LTYPE 入力グループを LFMT を使ってフォーマットします。

    このフォーマットオプションは、 出力を詳細に制御します。

    これは -D/--ifdef を一般化したものです。

LTYPE は 'old', 'new', 'unchanged' のいずれかです。
    GTYPE は、 LTYPE に 'changed' を加えたもののいずれかです。

    GFMT において (のみ) 指定できるもの:

%<  FILE1 からの行

%>  FILE2 からの行

%=  FILE1 と FILE2 に共通する行

%[-][WIDTH][.[PREC]]{doxX}LETTER
    LETTER に対する printf 風の指定

    LETTER は、新しいグループ用に以下のものを用います。 古いグループ用には、それを小文字にしたものを用います:

F   最初の行番号

L   最終の行番号

N   行数 = L-F+1

E   F-1

M   L+1

%(A=B?T:E)
    A と B が等しければ T、そうでなければ E

    LFMT において (のみ) 指定できるもの:

%L  行内容

%l  行内容、 ただし改行文字を除く

%[-][WIDTH][.[PREC]]{doxX}n
    入力行番号に対する printf 風の指定

    GFMT, LFMT に共通して指定できるもの:

%%  %

%c'C'
    単一の文字 C

%c'\OOO'
    8 進数コード OOO の文字

C   文字 C (その他の文字は、 それ自身を表現する)

-d, --minimal
    できるだけ小さな差分を見つけるようにします。

--horizon-lines=NUM
    差分の前後の共通部分を NUM 行出力します。

--speed-large-files
    大きなファイルであって、小さな違いがたくさん含まれると想定して処理します。

--color[=WHEN]
    カラー出力を行います。 WHEN は 'never', 'always', 'auto' のいずれかです。 --color だけを指定すると --color='auto' を意味します。

--palette=PALETTE
    --color が有効な場合に、 利用するカラーを指定します。 PALETTE は、 terminfo の機能指定 (capability) をカンマで区切ったリストです。

--help
    ヘルプを表示して終了します。

-v, --version
    バージョン情報を出力して終了します。

FILES は 'FILE1 FILE2'、 'DIR1 DIR2'、 'DIR FILE'、 'FILE DIR' のいずれかです。 --from-file または --to-file を指定した場合、 FILE(s) に対する制約はありません。 FILE が '-' である場合、 標準入力から読み込みます。 終了ステータスは、 入力ファイルの内容が同じであれば 0、 異なっていれば 1、 何か問題が発生すれば 2 です。

著者
Paul Eggert, Mike Haertel, David Hayes, Richard Stallman, Len Tower

バグ報告
バグ報告は bug-diffutils@gnu.org までお願いします。
GNU diffutils ホームページ: <https://www.gnu.org/software/diffutils/>
GNU ソフトウェアの全般的なヘルプ: <https://www.gnu.org/gethelp/>

著作権
Copyright © 2021 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

関連項目
wdiff(1), cmp(1), diff3(1), sdiff(1), patch(1)

diff の完全なドキュメントは Texinfo マニュアルとしてメンテナンスされています。 info と diff の両プログラムが適切にインストールされていれば、 以下のコマンド

    info diff

を実行して完全なマニュアルを参照できます。