La pagina man non è molto chiara su questo punto, ma la pagina informativa elabora:
1.2 Sopprimere le differenze nella spaziatura tra bianco e tab
L' opzione --ignore-tab-expansion
( -E
) ignora la distinzione tra tabulazioni e spazi sull'input. Una scheda è considerata equivalente al numero di spazi alla successiva tabulazione (* note Schede: :).
L' opzione --ignore-trailing-space
( -Z
) ignora gli spazi bianchi alla fine della linea.
L' opzione --ignore-space-change
( -b
) è più forte di -E
e
-Z
combinata. Ignora lo spazio bianco alla fine della linea e considera equivalenti tutte le altre sequenze di uno o più caratteri dello spazio bianco all'interno di una linea. Con questa opzione, diff
considera le seguenti due linee equivalenti, dove $
indica la fine della linea:
Here lyeth muche rychnesse in lytell space. -- John Heywood$
Here lyeth muche rychnesse in lytell space. -- John Heywood $
L' opzione --ignore-all-space
( -w
) è ancora più forte. Ignora le differenze anche se una riga ha uno spazio bianco dove l'altra non ne ha. I caratteri "spazio bianco" includono tabulazione, tabulazione verticale, avanzamento modulo, ritorno a capo e spazio; alcune impostazioni locali possono definire caratteri aggiuntivi come spazi bianchi. Con questa opzione, diff
considera le seguenti due linee equivalenti, dove $
indica la fine della linea e ^M
indica un ritorno a capo :
Here lyeth muche rychnesse in lytell space.-- John Heywood$
He relyeth much erychnes seinly tells pace. --John Heywood ^M$
Per molti altri programmi, newline è anche uno spazio vuoto, ma diff
è un programma orientato alla linea e un carattere newline termina sempre una linea. Quindi l' opzione -w
o --ignore-all-space
non ignora le modifiche relative a newline; ignora solo altre modifiche agli spazi bianchi.