名前

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

バグ報告

バグ報告は [email protected] までお願いします。
 
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 マニュアルとしてメンテナンスされています。 infodiff の両プログラムが適切にインストールされていれば、 以下のコマンド
info diff
を実行して完全なマニュアルを参照できます。

Recommended readings

Pages related to diff you should read also: