1

Я хочу найти различия между двумя текстовыми файлами (более 50 ГБ) каждый.

Я попробовал diff но у меня проблема с memory exhausted .

Я использую Windows7. Мой код на PHP. Я звонил diff из моего php как:

shell_exec("C:\\cygwin64\\bin\\bash.exe --login -c 'diff $text_files_path/$OldDatabaseFile.txt $text_files_path/$NewDatabaseFile.txt >  $text_files_path/TempDiff_$OldDatabaseFile$NewDatabaseFile.txt 2>&1'");

Кто-то сказал мне о rdiff который генерирует подпись и дельту, но я не проверял это, потому что не знаю, с чего начать.

Откуда я могу его установить? Откуда я могу его запустить? Из windows cmd или cygwin cmd?

2 ответа2

0

Откуда я могу установить его (rdiff)?

Кто-то сказал мне о rdiff который генерирует подпись и дельту, но я не проверял это, потому что не знаю, с чего начать. Откуда я могу его установить? и откуда я могу его запустить? Из windows cmd или cygwin cmd?

Cygwin включает в себя rdiff . Он находится в пакете rdiff-1.0.0-1 .


Откуда я могу запустить его (rdiff)?

Кто-то сказал мне о rdiff который генерирует подпись и дельту, но я не проверял это, потому что не знаю, с чего начать. Откуда я могу его установить? и откуда я могу его запустить? Из windows cmd или cygwin cmd?

Вы запускаете rdiff оболочки Cygwin bash .

shell_exec("C:\\cygwin64\\bin\\bash.exe --login -c 'diff $text_files_path/$OldDatabaseFile.txt $text_files_path/$NewDatabaseFile.txt >  $text_files_path/TempDiff_$OldDatabaseFile$NewDatabaseFile.txt 2>&1'");

Команда, аналогичная приведенной выше (замена diff на rdiff и изменение параметров команды при необходимости) должна работать.


Как я могу узнать, в каком пакете находится rdiff ?

Самый простой способ найти пакет, содержащий определенную команду, - это использовать веб-страницу Cygwin Package Search :

Прокрутите страницу вниз:

Нажмите на rdiff-1.0.0-1:

Это подтверждает, что rdiff-1.0.0-1 является правильным пакетом для установки.

См. Установка и обновление пакетов Cygwin для получения инструкций по установке.

0

Вы пробовали --speed-large-files перейти на diff? Это должно тратить меньше памяти:

diff --speed-large-files [...]

Со страницы руководства для diff:

--speed-большие-файлы

предполагаю большие файлы и множество разбросанных мелких изменений

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .