diffutils: White Space

 
 1.2 Suppressing Differences in Blank and Tab Spacing
 ====================================================
 
 The '--ignore-tab-expansion' ('-E') option ignores the distinction
 between tabs and spaces on input.  A tab is considered to be equivalent
 to the number of spaces to the next tab stop (⇒Tabs).
 
    The '--ignore-trailing-space' ('-Z') option ignores white space at
 line end.
 
    The '--ignore-space-change' ('-b') option is stronger than '-E' and
 '-Z' combined.  It ignores white space at line end, and considers all
 other sequences of one or more white space characters within a line to
 be equivalent.  With this option, 'diff' considers the following two
 lines to be equivalent, where '$' denotes the line end:
 
      Here lyeth  muche rychnesse  in lytell space.   -- John Heywood$
      Here lyeth muche rychnesse in lytell space. -- John Heywood   $
 
    The '--ignore-all-space' ('-w') option is stronger still.  It ignores
 differences even if one line has white space where the other line has
 none.  "White space" characters include tab, vertical tab, form feed,
 carriage return, and space; some locales may define additional
 characters to be white space.  With this option, 'diff' considers the
 following two lines to be equivalent, where '$' denotes the line end and
 '^M' denotes a carriage return:
 
      Here lyeth  muche  rychnesse in lytell space.--  John Heywood$
        He relyeth much erychnes  seinly tells pace.  --John Heywood   ^M$
 
    For many other programs newline is also a white space character, but
 'diff' is a line-oriented program and a newline character always ends a
 line.  Hence the '-w' or '--ignore-all-space' option does not ignore
 newline-related changes; it ignores only other white space changes.