Книжное: [методика] сравнения [текстовых] файлов

Аватар пользователя И-23

Зафиксирую жизненную заметку. Ибо в оригинале часть иллюстраций уже утрачена… ☹


Сравнение файлов программой Compare It*

Запускаем CompareIt.

Сразу появляется обычное окно для выбора файла со своего компьютера. Находим сначала один и выбираем его, тут же откроется окно для выбора второго. (Программа запоминает последнюю папку, поэтому у меня создана спец. папка, куда я кладу сравниваемые файлы и, открыв программу, сразу попадаю в нее, остается только выбрать нужные файлы, а не рыться на компьютере). В результате программа примет вот такой вид:

В самом начале идет дескрипшен, здесь хранятся все данные о файле.

Сразу видно выделенное красным первое различие: в правом файле появилось содержание в аннотации (1).

Чтобы перейти к следующему различию, нажимаем на значок на панели инструментов, на который показывает стрелка на картинке. Или, еще удобнее, клавишу F8.

Если у вас текст не вписывается в страницу и абзацы идут в одну строку, у меня так было в программе изначально, наверху найдите "Вид" и поставьте галочку в "Перенос по словам".

Можно также оставить только текст, в котором найдены отличия, убрав весь остальной (но останется по пять абзацев обычного текста без отличий до и после (в настройках можно изменить эту цифру)). Это делается в меню "Вид", как на картинке:

Дальше смотрим следующее различие — (2) — это разница в обложках.

Следом — (3) — с правой стороны удален автор файла.

А также — (5) — удалена история.

Но остался тот же id и версия файла (6). Вероятность совпадения id нулевая, т. е. это изначально один файл, судя по дате, исходный тот что слева, и уже в него были внесены изменения.

(4) — использованные программы и дата создания файла.

Дальше различие — это в правом файле появилась иллюстрация:

Следующее — добавлена повесть "Труженники Зазеркалья".

А здесь удалена аннотация:

Иногда случается неправильное соответствие строк.

Это легко исправляется. На нужном абзаце с одной стороны правой кнопкой мыши выбираем "Ручное сопоставление" — "Установить закрепление вручную" (Ctrl+M). То же самое делаем на одинаковом абзаце с другой стороны.

Затем в меню "Вид" нажимаем "Пересканировать" (F5).

Если пользоваться горячими клавишами, это будет еще быстрее и проще: Ctrl+M на одном, Ctrl+M на другом абзаце, затем F5, — и готово.

В итоге текст сопоставился правильно.

И-23 пропуск огороженной (?) картинки

Можно убрать знак закрепления, нажав пр. кн. мыши и выбрав "Удалить закрепления".

Так, нажимая на стрелочку, проверяется весь файл. Легко и просто.

Дополнения.

1) При сравнении может встретиться вот такая конструкция (1):

И-23 пропуск огороженной (?) картинки

А на схеме справа (2) будет видна тонкая линия.

Это означает, что такой текст в файле есть, но он перемещен в другое место.

Чтобы найти перемещенный текст, установите курсор на абзац и наверху, в меню "Объединение", выберите пункт "Показать перемещенное".

И-23 пропуск огороженной (?) картинки

Произойдет переход на перемещенный текст. Вернуться обратно можно опять через "Показать перемещенное".

2) Если в файлах встречаются повторяющиеся отличия, к примеру, разные тире, или три точки и многоточие:

проходить по ним придется слишком долго.

Лечится это обычной массовой заменой: в меню "Правка" — "Замена", "Поменять все". Потом выбираем "Вид" — "Пересканировать" (или просто нажимаем F5). Все отличия исчезнут.

На все действия можно назначить горячие клавиши в меню "Настройки" — "Клавиатура"

3) Перенесла тоже сюда:

Открыла для себя велосипед хороший способ сравнивать спорный fb2-файл и pdf/djvu. Способ очевидный, но почему-то раньше в голову не приходил. Сравнивала визуально, по каждому входящему произведению. И отследить таким образом можно было только другой перевод, другую редакцию в большинстве случаев определить было почти невозможно.

Просто загрузила djvu в FR, убрала обложку, титульные листы; убрала мягкие переносы и разрывы строки и сохранила сразу в fb2. Получившийся результат вполне позволил с помощью CompareIt сравнить файлы, определить подлинность сборника и исправить все найденные несоответствия.

Т. е., если есть, например, сборник от Сундука, и удалось найти такую книгу в pdf или djvu, легко и быстро можно отличить подделку. И при небольших отличиях даже сделать полноценную книгу. Если кто не владеет FR, может попросить сделать такой сырой fb2. Сделать его легко и быстро, и поэтому такая просьба совсем не затруднит.


© Evernet

Ссылку на блокируемый (или они ещё по доменам не набегались и некоторая конкретная ссылка в моменте не блокируется?..) стараниями лобби копирастов в РКН книжный ресурс опускаю.

ЗЫ: По поводу последнего пункта лично мне сразу вспоминается современное вандализированное переиздание монографии Степана Александровича Гедеонова, где в бумаге увековечено совершенно неприличное количество ошибок распознания буквы «ѣ».

Авторство: 
Авторская работа / переводика
Комментарий автора: 

В том числе характерно-печальный пример прибивания вендового костыля (аналогично формату CUE с приложением мерсского EAC на рутрекере).

Ибо есть текстовый diff, и есть целая куча графических расширений (начиная с dev-util/meld, дальше мне искать было лень).

Причём вопросы промышления дистрибутива и установки закономерно «потеряны».

Ну и из самоочевидного: сравниваются файлы стандартизованной (причём по идентичному алгоритму, привет приложениям, норовящим записать весь xml в одну строку) структуры: то есть бинарные файлы текстовых процессоров в празднике жизни не участвуют, а для fb2 показана предварительная унификация структуры посредством утилиты xml из пакета app-text/xmlstarlet.

Комментарии

Аватар пользователя J1EXA
J1EXA(7 лет 11 месяцев)

Тотал коммандер это делает из коробки. Не нужен никакой доп софт. 

Аватар пользователя Находка
Находка(4 месяца 4 недели)

И Far.

Аватар пользователя И-23
И-23(9 лет 2 месяца)

А сейчас, внимание, вопрос: почему не смотря на все… особенности эту решения не были хотя бы упомянуты?

Аватар пользователя J1EXA
J1EXA(7 лет 11 месяцев)

Моя твоя не понимай

Аватар пользователя И-23
И-23(9 лет 2 месяца)

FBE.

Аватар пользователя ДК
ДК(12 лет 1 месяц)

notepad++

Аватар пользователя GaussCurve
GaussCurve(11 лет 4 месяца)

Сделают сюда программу ИИ что б любые теги парсила, чем заниматься будете?

Ещё не поздно спроектировать собственный формат.

Будет хотя бы с чем предстать перед создателем. заказчиком

Аватар пользователя И-23
И-23(9 лет 2 месяца)

Перечитайте руководство господина Фокса на предмет перспектив тестирования.

Аватар пользователя GaussCurve
GaussCurve(11 лет 4 месяца)

Наверняка же знаете нашу терминологию? RTFM заменяет тысячу слов-)

Аватар пользователя И-23
И-23(9 лет 2 месяца)

Но куда интереснее вторая часть: идентификация применившего данный термин, его фиксация и выжимание из него значения приведённого ключа.
С верификацией выжатого.
Или просто 25!+ летним курсом стимуляции извилины в случае обнаружения факта отправки в никуда.

Аватар пользователя Конструктор игр
Конструктор игр(3 года 10 месяцев)

Полезная штука.

Интересно - а есть программы для анализа качества структуры - ну там здесь такие частотные характеристики таких-то слов, здесь они чаще вот так вот строятся и т.д. - для косвенного определения авторства, стиля, случаев употребления литературных негров и т.д. ?

Аватар пользователя И-23
И-23(9 лет 2 месяца)

Тут к описываемой, простой и стандартной задаче… интерфейсное решение неочевидно.

Лексический анализ (до узнавания перелицовано-опусцированных заимствований включительно, с формирующим подбором принципа монизма бытия) будет как миниму на порядок (шестнадцатиричный) сложнее.

Аватар пользователя Конструктор игр

Это в идеальном случае.

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

Аватар пользователя AVSm
AVSm(5 лет 10 месяцев)

Как, а знамя белоленточной мрази, героев нижнего Ларса, всех "испуганных" "патриотов" - программа "антиплагиат" (с придыханием)? Без такого параметра как "самоцитирование" - не заботливые ссылки на свои же труды (или "кубла-тусовочки"), а когда уже есть готовая точная выстраданная формулировка - то ее... надо перелицовывать/менять, как же - "антиплагиат" не засчитывает.