Go to the first, previous, next, last section, table of contents.


@command{diff}の呼び出し

@command{diff}コマンドの実行書式は以下のとおりです.

diff options... files...

最も単純な場合,二つのファイル名from-fileto-fileが与えられ ていて,@command{diff}はfrom-fileto-fileの内容を比較します. ファイル名`-'は標準入力から読み込まれたテキストを意味します.特別な 場合として,`diff - -'は,標準入力のコピーと標準入力自身を比較しま す.

一つのファイルがディレクトリで,もう一方はディレクトリではない場合, @command{diff}はディレクトリではないファイルの名前を持つもう一つのディレ クトリのファイルと比較します.ディレクトリではないファイルを,`-'に してはいけません.

二つのファイル名が与えられ両方ともディレクトリの場合,@command{diff}は両 方のディレクトリの対応するファイルを,アルファベット順に比較します.この 比較は,@option{-r}や@option{--recursive}オプションが与えられていない限 り再帰的ではありません.@command{diff}は,ディレクトリの実際の内容をファ イルであるかのように比較しません.標準入力には名前が無く"同じ名前のファ イル"という概念が適用できないので,完全に指定されているファイルを標準入 力にしてはいけません.

@option{--from-file=file}オプションが与えられている場合,ファイル 名の数は任意で,fileそれぞれ指名されたファイルで比較されます.同様 に,@option{--to-file=file}オプションが与えられている場合,それぞ れ指名されたファイルが,fileと比較されます.

@command{diff}のオプションは`-'で始まっているので,`-'で始まる ファイル名は通常利用不可能です.しかし,引数として@option{--}自身をを与 えることで,残りのファイル名が`-'で始まる場合でもそれをファイル名と して扱います.

終了ステータス0は差異が無いことを意味し,1は差異が見つかったことを意味し, そして2は問題があったことを意味します.

@command{diff}へのオプション

以下は,GNU @command{diff}が受け入れるすべてのオプションの概要です. ほとんどのオプションは二つの等価な名前があり,一つは`-'が前置された 単一文字で,もう一つは`--'が前置されている長い名前です.複数の(引数 を取らない) 単一文字のオプションを,単一のコマンドラインの単語に組み合わ せることが可能です.@option{-ac}は@option{-a -c}と等価です.長い名前のオ プションは,その名前のユニークな前方部分で省略することが可能です.カッコ ([と])は,オプションで引数を取るオプションを示します.

@option{-a}
@option{--text}
ファイルがテキストのようには見えない場合でも,すべてのファイルをテキスト として扱い,行単位で比較します.See section バイナリファイルと,テキストファイルの比較の強制.
@option{-b}
@option{--ignore-space-change}
空白の量による変更を無視します.See section 空白とタブのスペースの差を抑制する.
@option{-B}
@option{--ignore-blank-lines}
空白行の挿入や削除のみの変更を無視します.See section 空白行の差を抑制する.
@option{--binary}
バイナリモードでデータを読み書きします.See section バイナリファイルと,テキストファイルの比較の強制.
@option{-c}
周りの三行を表示しながら,周りの文を使用した出力書式を使用します. See section 周りの文を使用した書式.
@option{-C lines}
@option{--context[=lines]}
周りのlines行(整数),またはlinesが与えられていない場合は三行 を表示しながら周りの文を使用した出力書式を使用します.See section 周りの文を使用した書式. 適切に処理するため,通常@command{patch}は少なくとも二行必要で す. 古いシステムでは,@command{diff}は,時代遅れの@option{-c}や@option{-p}と 組み合わせたとき効果がある@option{-lines}をサポートしています. POSIX 1003.1-2001 (see section 標準への準拠)では,これを許可し ていません.代わりに@option{-C lines}を使用してください.
@option{--changed-group-format=format}
if-then-else書式で,両方のファイルの異なっている部分の行グループを出力す るためformatを使用します.See section 行のグループを使用した書式.
@option{-d}
@option{--minimal}
変更の組がより小さくなるように探すアルゴリズムに変更します.これで @command{diff}はより遅く(時には非常に遅く)なります.See section @command{diff}の性能のトレードオフ.
@option{-D name}
@option{--ifdef=name}
マクロ名のポリプロセッサの条件式となる,マージされた`#ifdef'書式の 出力を生成します.See section If-then-elseを用いたファイルのマージ.
@option{-e}
@option{--ed}
有効な@command{ed}スクリプトとなる出力を生成します.See section @command{ed}スクリプト.
@option{-E}
@option{--ignore-tab-expansion}
タブの展開による変更を無視します.See section 空白とタブのスペースの差を抑制する.
@option{-f}
@option{--forward-ed}
@command{ed}スクリプトのように見える出力を生成しますが,ファイルでの順序 は変更されています.See section 前置@command{ed}スクリプト.
@option{-F regexp}
@option{--show-function-line=regexp}
周りの文を使用したり一体化した書式で,それぞれの差異のhunkに対し, regexpにマッチしたそれ以前にある最後の行を表示します.
@option{--from-file=file}
fileをそれぞれのオペランドと比較します.fileはディレクトリで もかまいません.
@option{--help}
使用方法の概要を出力し終了します.
@option{--horizon-lines=lines}
共通の最初の部分の最後のlines行と共通の終りの部分の最初の lines行を削除しません.See section @command{diff}の性能のトレードオフ.
@option{-i}
@option{--ignore-case}
大文字小文字の変更を無視します.大文字と小文字は等価だと考えます. See section 大文字小文字の差を抑制する.
@option{-I regexp}
@option{--ignore-matching-lines=regexp}
regexpにマッチする行の挿入と削除だけの変更を無視します. See section 正規表現にマッチする行を抑制する.
@option{--ignore-file-name-case}
再帰的な比較でファイル名を比較している時,大文字小文字を無視します. See section ディレクトリの比較.
@option{-l}
@option{--paginate}
ページ付けするために出力を@command{pr}に渡します.See section @command{diff}出力のページ分割.
@option{-L label}
@option{--label=label}
周りの文を使用した書式(see section 周りの文を使用した書式)と一体化した書式 (see section 一体化した書式)のヘッダで,ファイル名の代わりにラベルを使用しま す.See section RCSスクリプト.
@option{--left-column}
横に並べた書式で,二つに共通な行を左の列だけに出力します.See section 並べた書式の制御.
@option{--line-format=format}
if-then-else書式で,すべての入力行を出力するためformatを使用します. See section 行の書式.
@option{-n}
@option{--rcs}
RCS書式の差分を出力します.@option{-f}に似ていますがそれぞれのコマ ンドは作用する行番号を指定します.See section RCSスクリプト.
@option{-N}
@option{--new-file}
ディレクトリの比較で,ファイルが一方のディレクトリだけで見つかった場合, もう一方には空のものが存在しているかのように処理します.See section ディレクトリの比較.
@option{--new-group-format=format}
if-then-else書式で,二番目のファイルからの行のグループを出力するために, formatを使用します.See section 行のグループを使用した書式.
@option{--new-line-format=format}
if-then-else書式で,二番目のファイルからの行を出力するために, formatを使用します.See section 行の書式.
@option{--old-group-format=format}
if-then-else書式で,最初のファイルからの行のグループを出力するために, formatを使用します.See section 行のグループを使用した書式.
@option{--old-line-format=format}
if-then-else書式で,最初のファイルからの行を出力するために,format を使用します.See section 行の書式.
@option{-p}
@option{--show-c-function}
変更があったそれぞれのC関数を表示します.See section Cの関数の見出しを表示する.
@option{-q}
@option{--brief}
ファイルに差異があるかどうかを報告するだけで,差異を詳述しません. See section ファイルの差の概要.
@option{-r}
@option{--recursive}
ディレクトリの比較時に,見つかったすべてのサブディレクトリを再帰的に比較 します.See section ディレクトリの比較.
@option{-s}
@option{--report-identical-files}
二つのファイルが同じとき報告します.See section ディレクトリの比較.
@option{-S file}
@option{--starting-file=file}
ディレクトリの比較時に,ファイルfileから開始します.これは,中止さ れた比較を再開するために使用します.See section ディレクトリの比較.
@option{-H}
@option{--speed-large-files}
小さな変更が大量にある大きなファイルの処理を高速化するため,発見的手法を 使用します.See section @command{diff}の性能のトレードオフ.
@option{--strip-trailing-cr}
入力行の最後に後置される改行を削除します.See section バイナリファイルと,テキストファイルの比較の強制.
@option{--suppress-common-lines}
横に並べた書式で,共通の行を出力しません.See section 並べた書式の制御.
@option{-t}
@option{--expand-tabs}
入力ファイルのタブによる位置合わせ保持するため,出力のタブをスペースに展 開します.See section タブストップの位置合わせを保持する.
@option{-T}
@option{--initial-tab}
通常または周りの文を使用する書式で,行のテキストの前にスペースではなくタ ブを出力します.これで行のタブでの位置合わせが通常通りに見えます. See section タブストップの位置合わせを保持する.
@option{--to-file=file}
それぞれのオペランドをfileと比較します.fileはディレクトリで もかまいません.
@option{-u}
一体化した出力書式を使用し,周りの文を三行表示します.See section 一体化した書式.
@option{--unchanged-group-format=format}
if-then-else書式で,両方のファイルからの共通の行のグループを出力するため に,formatを使用します.See section 行のグループを使用した書式.
@option{--unchanged-line-format=format}
if-then-else書式で,両方のファイルに共通な行を出力するために, format を使用します.See section 行の書式.
@option{-P}
@option{--unidirectional-new-file}
ディレクトリの比較時に,二つのうち二番目のディレクトリだけにファイルがあ る場合,もう一方には空のファイルが存在しているかのように扱います. See section ディレクトリの比較.
@option{-U lines}
@option{--unified[=lines]}
周りのlines行(整数),またはlinesが与えられていない場合は三行 を表示しながら一体化した出力書式を使用します.See section 一体化した書式. 適 切に処理するため,通常@command{patch}は少なくとも二行必要です. 古いシステムでは,@command{diff}は,時代遅れの@option{-u}と組み合わせた とき効果がある@option{-lines}をサポートしています.POSIX 1003.1-2001 (see section 標準への準拠)では,これを許可していません. 代わりに@option{-U lines}を使用してください.
@option{-v}
@option{--version}
バージョン情報を出力し終了します.
@option{-w}
@option{--ignore-all-space}
行の比較時に空白を無視します.See section 空白とタブのスペースの差を抑制する.
@option{-W columns}
@option{--width=columns}
横に並べた書式で,行ごとに最大columns行(デフォルトは130)出力します. See section 並べた書式の制御.
@option{-x pattern}
@option{--exclude=pattern}
ディレクトリの比較時に,ベース名がpatternにマッチするファイルとサ ブディレクトリを無視します.See section ディレクトリの比較.
@option{-X file}
@option{--exclude-from=file}
ディレクトリの比較時に,ベース名がfileに含まれているパターンにマッ チするファイルとサブディレクトリを無視します.See section ディレクトリの比較.
@option{-y}
@option{--side-by-side}
横に並べた書式を使用します.See section 並べた書式の制御.


Go to the first, previous, next, last section, table of contents.