Ответ 1
Я не знаю, достаточно ли это командной строки для вашей цели, но vimdiff может сделать это (даже делает цвет). См. Например изображение в этом связанном вопросе.
qaru.site/info/281419/... есть изображение KDiff3, выделяющее различия внутри линии. Знает ли кто-нибудь инструмент, который может показывать то же (например, через цвет) в командной строке?
Еще один способ подумать об этом - это желание различать каждую разницу в файле патча.
Я не знаю, достаточно ли это командной строки для вашей цели, но vimdiff может сделать это (даже делает цвет). См. Например изображение в этом связанном вопросе.
Я пробовал все инструменты, которые я нашел: wdiff, dwdiff, kdiff3, vimdiff, чтобы показать разницу между двумя длинными и немного разными строками. Мой любимый diff-highlight
(часть git contrib)
На Ubuntu вы, вероятно, уже имеете его как часть git contrib (установленного в пакете git
deb).
Скопируйте его или скопируйте в папку ~/bin из /usr/share/doc/git/contrib/diff-highlight/diff-highlight
cat tmp.diff | diff-highlight | colordiff
Результат:
Еще один интуитивный способ увидеть все различия в размере слова (хотя и не бок о бок) - использовать wdiff
вместе с colordiff
(возможно, вам потребуется установить оба). Примером этого может быть:
wdiff -n {file-A} {file-A} | colordiff
Вы можете по желанию подключить его к less -R
для прокрутки вывода (-R
используется для отображения цветов в less
).
Возможно, вы сможете использовать colordiff
.
На странице man:
Любые параметры, переданные в colordiff, проходил через diff, за исключением специфичный для colordiff вариант "diffftype", например.
colordiff --difftype=debdiff file1 file2
Допустимыми значениями для 'diffftype' являются: diff, diffc, diffu, diffy, wdiff, debdiff; они соответствуют простым различиям, контекст diffs, унифицированные различия, бок о бок diffs, выход wdiff и вывод debdiff соответственно. Используйте эти переопределяет, когда colordiff не способен для определения типа diff автоматически.
Я не тестировал его, но побочный вывод (как выражается diff -y file1 file2
) может дать вам эквивалент линейных различий.
У меня была аналогичная проблема, и мне хотелось избежать использования vimdiff
. Я нашел dwdiff
(который доступен в Debian), чтобы иметь несколько преимуществ перед wdiff
.
Самая полезная функция dwdiff
заключается в том, что вы можете настраивать разделители с помощью -d [CHARS]
, поэтому это полезно для сравнения всех видов вывода. Он также имеет цвет, встроенный с флагом -c
.