このページの内容

1.2 スペースとタブによる空白の差分を抑制する

--ignore-tab-expansion(-E)オプションは、入力のタブとスペースの違いを無視します。タブは、次のタブ位置までのスペースの個数に相当するとみなされます(タブ位置の整列を保つを参照)。

--ignore-trailing-space(-Z)オプションは、行末の空白を無視します。

--ignore-space-change(-b)オプションは、-Eと-Zの併用より強い働きをします。行末の空白を無視し、行内のそれ以外の、1文字以上の空白文字の連なりをすべて同等とみなします。このオプションでは、diffは次の2行を同等とみなします。「$」は行末を表します。

Here lyeth  muche rychnesse  in lytell space.   -- John Heywood$
Here lyeth muche rychnesse in lytell space. -- John Heywood   $

--ignore-all-space(-w)オプションは、さらに強い働きをします。一方の行に空白があり、他方にはない場合も、その違いを無視します。空白文字には、タブ、垂直タブ、フォームフィード、復帰、スペースが含まれます。ロケールによっては、ほかの文字も空白として定義されます。このオプションでは、diffは次の2行を同等とみなします。「$」は行末、「^M」は復帰を表します。

Here lyeth  muche  rychnesse in lytell space.--  John Heywood$
  He relyeth much erychnes  seinly tells pace.  --John Heywood   ^M$

多くのほかのプログラムでは改行も空白文字ですが、diffは行を単位とするプログラムであり、改行文字は常に行を終わらせます。そのため、-wまたは--ignore-all-spaceオプションは、改行に関する変更を無視しません。それ以外の空白の変更だけを無視します。