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