diff - ファイルを1行ずつ比較する
構文
diff [オプション]... ファイル
説明
ファイルを1行ずつ比較します。
長いオプションに対する必須引数は、短いオプションに対しても必須です。
--normal
通常の状態(デフォルト)で差分を出力します
-q, --brief
ファイルが異なる場合にのみ報告します
-s, --report-identical-files
2つのファイルが同じ場合に報告します
-c, -C NUM, --context[=NUM]
NUM行(デフォルトは3)の共通のコンテキストを出力します
-u, -U NUM, --unified[=NUM]
NUM行(デフォルトは3)の統一されたコンテキストを出力します
-e, --ed
edスクリプトを出力します
-n, --rcs
RCS形式の差分を出力します
-y, --side-by-side
2つの列で出力します
-W, --width=NUM
最大NUM列(デフォルトは130)で出力します
--left-column
共通の行の左側の列のみを出力します
--suppress-common-lines
共通の行を出力しません
-p, --show-c-function
各変更がどのC関数にあるかを表示します
-F, --show-function-line=RE
REに一致する最新の行を表示します
--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'diffsを持つマージされたファイルを出力します
--GTYPE-group-format=GFMT
GFMTを使用してGTYPE入力グループの形式を設定します
--line-format=LFMT
すべての入力行の形式をLFMTに設定します
--LTYPE-line-format=LFMT
LTYPE入力行の形式をLFMTに設定します
これらの形式オプションは、diffの出力に対するきめ細かい制御を提供します。
-D / --ifdef を一般化します。
LTYPEは 'old'、'new'、または 'unchanged'です。
GTYPEはLTYPEまたは 'changed'です。
GFMT (のみ) には次のものが含まれる場合があります。
%< FILE1からの行
%> FILE2からの行
%= FILE1とFILE2の両方にある行
%[-][WIDTH][.[PREC]]{doxX}LETTER
printfスタイルのLETTERの指定
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はコロンで区切られたターミナル機能のリストです。
--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によって書かれました。
バグ報告
バグは次のアドレスに報告してください。 GNU diffutilsのホームページ:[https://www.gnu.org/software/diffutils/] GNUソフトウェアの使用に関する一般的なヘルプ:[https://www.gnu.org/gethelp/]
著作権
Copyright © 2025 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later [https://gnu.org/licenses/gpl.html]. これはフリーソフトウェアです。変更して再配布することができます。法律で許可されている範囲内で、保証は一切ありません。
関連項目
wdiff(1)、cmp(1)、diff3(1)、sdiff(1)、patch(1)
diffの完全なドキュメントは、Texinfoマニュアルとして保守されています。infoおよびdiffプログラムがサイトに適切にインストールされている場合、次のコマンドで完全なマニュアルにアクセスできます。
info diff