Согласно моей версии diff (2.8.1 из GNU diffutils от FSF) -w используется для изменения ширины вывода;Параметр -y выводит параллельное сравнение.В совокупности эти два эффекта не показывают большего эффекта, чем параметр -y, используемый отдельно, что означает, что у вас может быть псевдоним в вашем профиле терминала или в глобальном профиле терминала, который псевдоним diff к diff -y.
Я говорювсе это потому, что все параметры для изменения символов ("<", "|" и ">") конфликтуют с параметром -y.Если вы можете жить без бок о бок, у вас есть возможность выбора двух других включенных стилей вывода или определения своего собственного.Два выходных стиля: -c (контекст) и -u (унифицированный).(Для получения дополнительной информации о том, что они делают, см. Страницу diff в Википедии . Для получения дополнительной информации о параметрах см. Страницу руководства diff .)
Более подробное исправлениебудет использовать следующие параметры:
diff --old-group-format="(deleted)---" \
--new-group-format="(added)---" \
--changed-group-format="(updated)---" \
--unchanged-group-format="(nodiff)---" \
old_file.c new_file.c
Теперь строки старого файла, которых нет в новом файле, представлены как (удалено) ---
Строки нового файла, которых нет в старом файле, представлены (добавлено) ---
Измененные строки представлены (обновлено) --
Линии, общие для обоих файлов, представлены (nodiff) ---
Поскольку вы, кажется, делаете это достаточно часто, у вас есть возможностьсделать его псевдонимом в вашем профиле терминала или написать небольшой скрипт для его обработки.Дополнительные параметры см. В разделе руководства по параметрам и, в частности, в разделе о форматах групп строк для получения информации о том, что можно поместить между кавычками в определениях форматов.
Конечно, если вы должны иметь бок о бок, попробуйте идею Натана Феллмана выше.В противном случае есть возможность использовать для него специальный инструмент с графическим интерфейсом, например Kompare.