Сторінка man не дуже зрозуміла з цього приводу, але на інформаційній сторінці уточнено:
1.2 Придушення відмінностей між порожніми та вкладками
Параметр --ignore-tab-expansion( -E) ігнорує відмінність між вкладками та пробілами на вході. Вкладка вважається еквівалентною кількості пробілів до наступної зупинки вкладки (* Примітка Tabs: :).
Параметр --ignore-trailing-space( -Z) ігнорує пробіл у кінці рядка.
Варіант --ignore-space-change( -b) сильніший -Eі
-Zкомбінований. Він ігнорує пробіл у кінці рядка і вважає всі інші послідовності одного або декількох символів пробілу в рядку еквівалентними. За допомогою цієї опції diffвважається наступними два рядки еквівалентними, де $позначається кінець рядка:
Here lyeth muche rychnesse in lytell space. -- John Heywood$
Here lyeth muche rychnesse in lytell space. -- John Heywood $
Варіант --ignore-all-space( -w) все ж сильніший. Він ігнорує відмінності, навіть якщо в одній лінії є пробіл, а в другому рядку немає. Символи "білого простору" включають вкладку, вертикальну вкладку, канал форми, повернення каретки та пробіл; деякі локалі можуть визначати додаткові символи для пробілу. За допомогою цієї опції diff
два наступні рядки вважаються еквівалентними, де $позначається кінець рядка і ^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варіант не ігнорує зміни, пов'язані з новим рядком; він ігнорує лише інші зміни білого простору.