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 マニュアルとしてメンテナンスされています。 infodiff の両プログラムが適切にインストールされていれば、 以下のコマンド

info diff

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

2021/08 diffutils 3.8