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 не дозволить кілька прогалин в коді!) Вважаються однаковими.