Существуют ли какие-либо инструменты n-way diff с вертикальным сравнением?

Я начал использовать диффузный, который вы можете использовать для сравнения нескольких файлов вместе, но это несколько бесполезно, так как вы не можете сравнивать строки по горизонтали, когда у вас есть около 20 файлов, которые вам нужно сравнить вместе, я думал, может быть, одна строка из всех двадцати файлы отображаются горизонтально.


person leeand00    schedule 21.04.2010    source источник
comment
kdiff3 поддерживает только 2 или 3 файла, но мне это нравится.   -  person LB40    schedule 21.04.2010


Ответы (2)


Редактор Vim может делать то, что вы просите. Это традиционная программа для UNIX, которая была перенесена почти на все существующие операционные системы, и она бесплатна — ура. В gVim:

  1. Откройте файл А
  2. Выберите Файл -> Разделить различия с... и выберите файл B.
  3. Выберите Файл -> Разделить различия с... и выберите файл C.

и Т. Д.

person ArIck    schedule 21.04.2010
comment
вы можете использовать vimdiff также с четырьмя файлами. - person LB40; 21.04.2010
comment
У Vim есть ограничение на четыре окна, отображающие различия, поэтому он не будет работать с 20 файлами, которые хотел OP. - person Dave Kirby; 21.04.2010

Хотя это отстой, вот к чему я вернулся как к быстрому и грязному решению:

Я устанавливаю переменную с именем number в строку, которую хочу сравнить:

set number=10

Я написал следующий командный файл и установил GNU Utilities:

head -n %number% approval.htm | tail -n 1 >> compare%number%.file
echo approval.htm >> compare%number%.file

head -n %number% checkout.htm | tail -n 1 >> compare%number%.file
echo checkout.htm >> compare%number%.file

head -n %number% confirmation.htm | tail -n 1 >> compare%number%.file
echo confirmation.htm >> compare%number%.file

head -n %number% edit_imprint.htm | tail -n 1 >> compare%number%.file
echo edit_imprint.htm >> compare%number%.file

head -n %number% history.htm | tail -n 1 >> compare%number%.file
echo history.htm >> compare%number%.file

head -n %number% home.htm | tail -n 1 >> compare%number%.file
echo home.htm >> compare%number%.file

head -n %number% imprint.htm | tail -n 1 >> compare%number%.file
echo imprint.htm >> compare%number%.file

head -n %number% mixed.htm | tail -n 1 >> compare%number%.file
echo mixed.htm >> compare%number%.file

head -n %number% office.htm | tail -n 1 >> compare%number%.file
echo office.htm >> compare%number%.file

head -n %number% payment.htm | tail -n 1 >> compare%number%.file
echo payment.htm >> compare%number%.file

head -n %number% report_cat.htm | tail -n 1 >> compare%number%.file
echo report_cat.htm >> compare%number%.file

head -n %number% review.htm | tail -n 1 >> compare%number%.file
echo review.htm >> compare%number%.file

head -n %number% settings.htm | tail -n 1 >> compare%number%.file
echo settings.htm >> compare%number%.file

head -n %number% shopping_cart.htm | tail -n 1 >> compare%number%.file
echo shopping_cart.htm >> compare%number%.file

head -n %number% stock.htm | tail -n 1 >> compare%number%.file
echo stock.htm >> compare%number%.file

head -n %number% warehouse.htm | tail -n 1 >> compare%number%.file
echo warehouse.htm >> compare%number%.file

И в результирующем файле compare10.file есть все сравнения, которые можно просматривать по вертикали. Это хромает, но это работает.

person leeand00    schedule 21.04.2010
comment
Я также использую диффузный, чтобы получить общее представление о том, что находится в файлах. - person leeand00; 21.04.2010