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