Scroll to navigation

DIFF(1) ユーザーコマンド DIFF(1)

名前

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

書式

diff [OPTION]... FILES

説明

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

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

通常の diff 形式で出力します (デフォルト)。
ファイルに違いがあった場合のみ報告します。
2 つのファイルが同じであった場合に報告します。
コンテキスト形式を使用し、 前後の NUM 行 (デフォルトは 3 行) を出力します。
ユニファイド (unified) 形式を使用し、 前後の NUM 行 (デフォルトは 3 行) を出力します。
ed スクリプトを出力します。
RCS 形式の diff を出力します。
2 段組で出力します。
NUM カラム以内で出力します (デフォルトは 130)。
2 段組出力において共通する行は左側のみ表示します。
共通する行は表示しません。
それぞれの変更箇所が、 どの C 関数内であるかを表示します。
-F, --show-function-line=RE
RE に一致した直近の行を表示します。
ファイル名とタイムスタンプの代わりに LABEL を使います (複数指定可)。
出力にあたってタブ文字を空白文字に展開します。
タブ文字を出力することで、タブ位置を揃えます。
タブ位置を NUM カラムごとに設定します (デフォルトは 8)。
空の出力行に対して、空白文字やタブ文字の出力を行いません。
ページ付けのために出力を 'pr' に受け渡します。
再帰的にサブディレクトリ内を比較します。
シンボリックリンクはたどりません。
-N, --new-file
存在しないファイルは空のファイルとして扱います。
存在しない最初のファイルは空のファイルとして扱います。
ファイル名の比較にあたって大文字小文字を区別しません。
ファイル名の比較にあたって大文字小文字を区別します。
PAT に一致するファイルを除外します。
FILE 内に記述されているいずれかのパターンに一致するファイルを除外します。
ディレクトリ比較を行う際に FILE から処理を始めます。
FILE1 とすべての引数の間での比較を行います。 FILE1 はディレクトリとすることができます。
すべての引数と FILE2 との間での比較を行います。FILE2 はディレクトリとすることができます。
ファイル内容において、大文字小文字を区別しません。
-E, --ignore-tab-expansion
タブ展開による違いを無視します。
行末のホワイトスペースは無視します。
ホワイトスペース数の違いを無視します。
ホワイトスペースをすべて無視します。
空行だけの違いは無視します。
RE に一致する行は、 違いがないものとして無視します。
ファイルはすべてテキストファイルとして扱います。
入力における文末のキャリッジリターンを取り除きます。
'#ifdef NAME' diff を使ったマージ結果を出力します。
GTYPE 入力グループを GFMT を使ってフォーマットします。
入力行を LFMT を使ってフォーマットします。
LTYPE 入力グループを LFMT を使ってフォーマットします。
このフォーマットオプションは、 出力を詳細に制御します。
これは -D/--ifdef を一般化したものです。
GTYPE は、 LTYPE に 'changed' を加えたもののいずれかです。
GFMT において (のみ) 指定できるもの:
%<
FILE1 からの行
%>
FILE2 からの行
%=
FILE1 と FILE2 に共通する行
%[-][WIDTH][.[PREC]]{doxX}LETTER
LETTER に対する printf 風の指定
LETTER は、新しいグループ用に以下のものを用います。 古いグループ用には、それを小文字にしたものを用います:
最初の行番号
最終の行番号
行数 = L-F+1
F-1
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 (その他の文字は、 それ自身を表現する)
できるだけ小さな差分を見つけるようにします。
差分の前後の共通部分を NUM 行出力します。
大きなファイルであって、小さな違いがたくさん含まれると想定して処理します。
カラー出力を行います。 WHEN は 'never', 'always', 'auto' のいずれかです。 --color だけを指定すると --color='auto' を意味します。
--color が有効な場合に、 利用するカラーを指定します。 PALETTE は、 terminfo の機能指定 (capability) をカンマで区切ったリストです。
ヘルプを表示して終了します。
バージョン情報を出力して終了します。

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

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

2021/08 diffutils 3.8