Halaman manual tidak terlalu jelas tentang hal itu, tetapi halaman info menguraikan:
1.2 Menekan Perbedaan dalam Spasi Kosong dan Tab
Opsi --ignore-tab-expansion
( -E
) mengabaikan perbedaan antara tab dan spasi pada input. Tab dianggap setara dengan jumlah spasi untuk penghentian tab berikutnya (* catatan Tab: :).
Opsi --ignore-trailing-space
( -Z
) mengabaikan spasi putih pada ujung garis.
Opsi --ignore-space-change
( -b
) lebih kuat dari -E
dan
-Z
dikombinasikan. Ini mengabaikan ruang putih di ujung garis, dan menganggap semua urutan lain dari satu atau lebih karakter spasi putih dalam suatu garis adalah setara. Dengan opsi ini, diff
anggap dua baris berikut ini sama, di mana $
menunjukkan akhir baris:
Here lyeth muche rychnesse in lytell space. -- John Heywood$
Here lyeth muche rychnesse in lytell space. -- John Heywood $
Opsi --ignore-all-space
( -w
) masih lebih kuat. Ini mengabaikan perbedaan bahkan jika satu garis memiliki ruang putih di mana garis lainnya tidak memiliki. Karakter "Ruang putih" meliputi tab, tab vertikal, umpan formulir, carriage return, dan spasi; beberapa lokal mungkin mendefinisikan karakter tambahan sebagai spasi. Dengan opsi ini, diff
anggap dua baris berikut ini sama, di mana $
menunjukkan ujung garis dan ^M
menunjukkan carriage return:
Here lyeth muche rychnesse in lytell space.-- John Heywood$
He relyeth much erychnes seinly tells pace. --John Heywood ^M$
Untuk banyak program lain, baris baru juga merupakan karakter spasi, tetapi diff
merupakan program yang berorientasi garis dan karakter baris baru selalu mengakhiri garis. Oleh karena itu opsi -w
atau --ignore-all-space
tidak mengabaikan perubahan terkait baris baru; hanya mengabaikan perubahan ruang putih lainnya.