[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

13. diffの呼び出し

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

 
diff optionsfiles

最も単純な場合,二つのファイル名from-fileto-fileが与えられ ていて,difffrom-fileto-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 バイナリファイルと,テキストファイルの比較の強制.

-b
--ignore-space-change

空白の量による変更を無視します.See section 空白とタブのスペースの差を抑制する.

-B
--ignore-blank-lines

空白行の挿入や削除のみの変更を無視します.See section 空白行の差を抑制する.

--binary

バイナリモードでデータを読み書きします.See section バイナリファイルと,テキストファイルの比較の強制.

-c

周りの三行を表示しながら,周りの文を使用した出力書式を使用します. See section 周りの文を使用した書式.

-C lines
--context[=lines]

周りのlines行(整数),またはlinesが与えられていない場合は三行 を表示しながら周りの文を使用した出力書式を使用します.See section 周りの文を使用した書式. 適切に処理するため,通常patchは少なくとも二行必要で す.

古いシステムでは,diffは,時代遅れの‘-c’や‘-p’と 組み合わせたとき効果がある‘-lines’をサポートしています. POSIX 1003.1-2001 (see section 標準への準拠)では,これを許可し ていません.代わりに‘-C lines’を使用してください.

--changed-group-format=format

if-then-else書式で,両方のファイルの異なっている部分の行グループを出力す るためformatを使用します.See section 行のグループを使用した書式.

-d
--minimal

変更の組がより小さくなるように探すアルゴリズムに変更します.これで diffはより遅く(時には非常に遅く)なります.See section diffの性能のトレードオフ.

-D name
--ifdef=name

マクロ名のポリプロセッサの条件式となる,マージされた‘#ifdef’書式の 出力を生成します.See section If-then-elseを用いたファイルのマージ.

-e
--ed

有効なedスクリプトとなる出力を生成します.See section edスクリプト.

-E
--ignore-tab-expansion

タブの展開による変更を無視します.See section 空白とタブのスペースの差を抑制する.

-f
--forward-ed

edスクリプトのように見える出力を生成しますが,ファイルでの順序 は変更されています.See section 前置edスクリプト.

-F regexp
--show-function-line=regexp

周りの文を使用したり一体化した書式で,それぞれの差異のhunkに対し, regexpにマッチしたそれ以前にある最後の行を表示します.

--from-file=file

fileをそれぞれのオペランドと比較します.fileはディレクトリで もかまいません.

--help

使用方法の概要を出力し終了します.

--horizon-lines=lines

共通の最初の部分の最後のlines行と共通の終りの部分の最初の lines行を削除しません.See section diffの性能のトレードオフ.

-i
--ignore-case

大文字小文字の変更を無視します.大文字と小文字は等価だと考えます. See section 大文字小文字の差を抑制する.

-I regexp
--ignore-matching-lines=regexp

regexpにマッチする行の挿入と削除だけの変更を無視します. See section 正規表現にマッチする行を抑制する.

--ignore-file-name-case

再帰的な比較でファイル名を比較している時,大文字小文字を無視します. See section ディレクトリの比較.

-l
--paginate

ページ付けするために出力をprに渡します.See section diff出力のページ分割.

-L label
--label=label

周りの文を使用した書式(see section 周りの文を使用した書式)と一体化した書式 (see section 一体化した書式)のヘッダで,ファイル名の代わりにラベルを使用しま す.See section RCSスクリプト.

--left-column

横に並べた書式で,二つに共通な行を左の列だけに出力します.See section 並べた書式の制御.

--line-format=format

if-then-else書式で,すべての入力行を出力するためformatを使用します. See section 行の書式.

-n
--rcs

RCS書式の差分を出力します.‘-f’に似ていますがそれぞれのコマ ンドは作用する行番号を指定します.See section RCSスクリプト.

-N
--new-file

ディレクトリの比較で,ファイルが一方のディレクトリだけで見つかった場合, もう一方には空のものが存在しているかのように処理します.See section ディレクトリの比較.

--new-group-format=format

if-then-else書式で,二番目のファイルからの行のグループを出力するために, formatを使用します.See section 行のグループを使用した書式.

--new-line-format=format

if-then-else書式で,二番目のファイルからの行を出力するために, formatを使用します.See section 行の書式.

--old-group-format=format

if-then-else書式で,最初のファイルからの行のグループを出力するために, formatを使用します.See section 行のグループを使用した書式.

--old-line-format=format

if-then-else書式で,最初のファイルからの行を出力するために,format を使用します.See section 行の書式.

-p
--show-c-function

変更があったそれぞれのC関数を表示します.See section Cの関数の見出しを表示する.

-q
--brief

ファイルに差異があるかどうかを報告するだけで,差異を詳述しません. See section ファイルの差の概要.

-r
--recursive

ディレクトリの比較時に,見つかったすべてのサブディレクトリを再帰的に比較 します.See section ディレクトリの比較.

-s
--report-identical-files

二つのファイルが同じとき報告します.See section ディレクトリの比較.

-S file
--starting-file=file

ディレクトリの比較時に,ファイルfileから開始します.これは,中止さ れた比較を再開するために使用します.See section ディレクトリの比較.

-H
--speed-large-files

小さな変更が大量にある大きなファイルの処理を高速化するため,発見的手法を 使用します.See section diffの性能のトレードオフ.

--strip-trailing-cr

入力行の最後に後置される改行を削除します.See section バイナリファイルと,テキストファイルの比較の強制.

--suppress-common-lines

横に並べた書式で,共通の行を出力しません.See section 並べた書式の制御.

-t
--expand-tabs

入力ファイルのタブによる位置合わせ保持するため,出力のタブをスペースに展 開します.See section タブストップの位置合わせを保持する.

-T
--initial-tab

通常または周りの文を使用する書式で,行のテキストの前にスペースではなくタ ブを出力します.これで行のタブでの位置合わせが通常通りに見えます. See section タブストップの位置合わせを保持する.

--to-file=file

それぞれのオペランドをfileと比較します.fileはディレクトリで もかまいません.

-u

一体化した出力書式を使用し,周りの文を三行表示します.See section 一体化した書式.

--unchanged-group-format=format

if-then-else書式で,両方のファイルからの共通の行のグループを出力するため に,formatを使用します.See section 行のグループを使用した書式.

--unchanged-line-format=format

if-then-else書式で,両方のファイルに共通な行を出力するために, format を使用します.See section 行の書式.

-P
--unidirectional-new-file

ディレクトリの比較時に,二つのうち二番目のディレクトリだけにファイルがあ る場合,もう一方には空のファイルが存在しているかのように扱います. See section ディレクトリの比較.

-U lines
--unified[=lines]

周りのlines行(整数),またはlinesが与えられていない場合は三行 を表示しながら一体化した出力書式を使用します.See section 一体化した書式. 適 切に処理するため,通常patchは少なくとも二行必要です.

古いシステムでは,diffは,時代遅れの‘-u’と組み合わせた とき効果がある‘-lines’をサポートしています.POSIX 1003.1-2001 (see section 標準への準拠)では,これを許可していません. 代わりに‘-U lines’を使用してください.

-v
--version

バージョン情報を出力し終了します.

-w
--ignore-all-space

行の比較時に空白を無視します.See section 空白とタブのスペースの差を抑制する.

-W columns
--width=columns

横に並べた書式で,行ごとに最大columns行(デフォルトは130)出力します. See section 並べた書式の制御.

-x pattern
--exclude=pattern

ディレクトリの比較時に,ベース名がpatternにマッチするファイルとサ ブディレクトリを無視します.See section ディレクトリの比較.

-X file
--exclude-from=file

ディレクトリの比較時に,ベース名がfileに含まれているパターンにマッ チするファイルとサブディレクトリを無視します.See section ディレクトリの比較.

-y
--side-by-side

横に並べた書式を使用します.See section 並べた書式の制御.


[ << ] [ >> ]           [冒頭] [目次] [見出し] [ ? ]

この文書は新堂 安孝によって2009年9月22日texi2html 1.82を用いて生成されました。