Подтвердить что ты не робот

Результаты unix diff на стороне?

Как я могу отображать результаты команды unix diff из стороны в сторону вместо одной разницы после другой? Ниже приведен пример:

    diff /tmp/test1  /tmp/test2
1,4c1,2
< asfdsadf
< asdfsad
< fsaf
< fdsadf
---
> asdfsafdsf
> saf
6,8d3
< sadf
< asdf
< sadf
10d4
< fasd
12,13c6,14
< sadfa
< fd
---
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> safa

Я хотел бы иметь что-то вроде:

diff /tmp/test1  /tmp/test2
1,4c1,2
< asfdsadf       > asdfsafdsf
< asdfsad        > saf       
< fsaf
< fdsadf
---
6,8d3
< sadf
< asdf
< sadf
10d4
< fasd
12,13c6,14
< sadfa               > sadf
< fd              > sadf
---               > sadf
              > sadf
              > sadf
              > sadf
              > sadf
              > sadf
              > safa
4b9b3361

Ответ 1

От man diff вы можете использовать -y для бок о бок.

-y, --side-by-side
       output in two columns

Следовательно, скажем:

diff -y /tmp/test1  /tmp/test2

Test

$ cat a                $ cat b
hello                  hello
my name                my name
is me                  is you

Давайте сравним их:

$ diff -y a b
hello                                                           hello
my name                                                         my name
is me                                                         | is you

Ответ 2

Из icdiff домашняя страница:

enter image description here

Ваш терминал может отображать цвет, но большинство инструментов сравнения не используют его. Выделяя изменения, icdiff может показать вам различия между подобными файлами, не мешая им. Это особенно полезно для определения и понимания небольших изменений в существующих линиях.

Вместо того, чтобы пытаться заменить diff для всех обстоятельств, цель icdiff - это инструмент, который вы можете достичь, чтобы получить лучшее представление о том, что изменилось, когда оно не сразу стало очевидным из-за различий.

IMHO, его вывод намного читабельнее, чем diff -y.

Ответ 3

У вас должно быть sdiff для параллельного слияния различий файлов. Прочтите man sdiff для полной истории.

Ответ 4

Вы можете использовать:

sdiff  file1 file2

или

diff -y file1 file2

или

vimdiff file1 file2

для бокового отображения.

Ответ 5

Вы можете просто использовать:

diff -y fileA.txt fileB.txt | colordiff

Он отображает результат, разделенный на два столбца и раскрашенный! (colordiff)

Ответ 6

Используйте параметр -y:

diff -y file1 file2

Ответ 7

Попробуйте cdiff - просмотрите цветной, инкрементный diff в рабочей области или из stdin с бок о бок и поддержкой автоматического пейджера.

Ответ 8

Вы можете использовать vimdiff.

Пример:

vimdiff file1 file2

Ответ 9

diff -y --suppress-common-lines file1 file2

Ответ 10

Если ваши файлы имеют непоследовательное использование пробелов и вкладок, вам может оказаться полезным включить аргумент -t для расширения вкладок:

diff -ty file1 file2