A página de manual não é muito clara nesse ponto, mas a página de informações é elaborada:
1.2 Suprimindo diferenças no espaço em branco e tabulação
A opção --ignore-tab-expansion( -E) ignora a distinção entre guias e espaços na entrada. Uma tabulação é considerada equivalente ao número de espaços para a próxima parada de tabulação (* note Tabs: :).
A opção --ignore-trailing-space( -Z) ignora o espaço em branco no final da linha.
A opção --ignore-space-change( -b) é mais forte que -Ee
-Zcombinada. Ele ignora o espaço em branco no final da linha e considera todas as outras seqüências de um ou mais caracteres de espaço em branco em uma linha como equivalentes. Com esta opção, diffconsidera as duas linhas a seguir equivalentes, onde $denota o final da linha:
Here lyeth muche rychnesse in lytell space. -- John Heywood$
Here lyeth muche rychnesse in lytell space. -- John Heywood $
A opção --ignore-all-space( -w) é mais forte ainda. Ele ignora as diferenças, mesmo que uma linha tenha espaço em branco onde a outra linha não tenha nenhum. Os caracteres "espaço em branco" incluem aba, aba vertical, alimentação de formulário, retorno de carro e espaço; alguns códigos de idioma podem definir caracteres adicionais como espaço em branco. Com esta opção, diff
considera as duas linhas seguintes equivalentes, onde $denota o final da linha e ^Mindica um retorno de carro:
Here lyeth muche rychnesse in lytell space.-- John Heywood$
He relyeth much erychnes seinly tells pace. --John Heywood ^M$
Para muitos outros programas, a nova linha também é um caractere de espaço em branco, mas diffé um programa orientado a linhas e um caractere de nova linha sempre termina uma linha. Portanto, a opção -wou --ignore-all-spacenão ignora as alterações relacionadas à nova linha; ignora apenas outras alterações de espaço em branco.