diff -bB file[12]
-b, --ignore-space-change
ignore changes in the amount of white space
-B, --ignore-blank-lines
ignore changes whose lines are all blank
Зверніть увагу, що ця -wопція ігноруватиме всі пробіли перед різницею, тому рядок like this i s a lineта this is a lineу кожному файлі буде порівнюватися як thisisalineі не повідомляти про відмінності.
Окрім -wпроблеми з опціями, навіть у -bопції є незначні проблеми, і це не ігнорує пробіли, якщо вони виникають при проханні рядка
Отже, вам слід використати sedдля видалення тих пробілів, які виникли спочатку, а потім зробіть `diff -bB.
diff -bB <(sed 's/^[ \t]*//' file1) <(sed 's/^[ \t]*//' file2)
-wефективно видаляє весь пробіл з рядків перед порівнянням, томуabіa bвважаються однаковими. Я вважаю за краще ,-bтому що вона ігнорує пробільні зміни , а це означає , щоabіa bвважаються різними , алеa bіa+ кілька прогалин +b(вибачте, міні-Markdown не дозволить кілька прогалин в коді!) Вважаються однаковими.