Я ищу лучший подход к сравнению файлов, которые, на мой взгляд, идентичны, но имеют разные имена файлов.Инструменты сравнения, такие как BeyondCompare, хороши, но они еще не обрабатывают разные имена файлов - при сравнении файлов в отдельных папках они пытаются сравнить файлы с одинаковыми именами с обеих сторон.
(я не работаю дляили у меня есть финансовый интерес к BeyondCompare, но я часто использую этот инструмент и обнаружил, что он обладает некоторыми замечательными функциями).
Существует MindGems Fast Duplicate File Finder для сопоставления файлов в любом месте через несколько деревьев папок, которые имеют разныеимена, но это основано на проверках CRC, я полагаю, я использую этот инструмент, но я только доверяю ему, пока нет ошибок, но пока не доверяю ему так же, как BeyondCompare.BeyondCompare предлагает полную возможность выполнить полное двоичное сравнение файла.
В моем случае файлы, как правило, имеют одинаковые имена, различие заключается в упорядочении слов, пунктуации, падеже и не во всех словах.подарок.Поэтому нелегко использовать фильтр регулярных выражений для сопоставления файлов, которые уже предоставляются некоторыми инструментами сравнения, такими как Beyond Compare, поскольку подстроки файлов могут быть не в порядке.
Я ищу способ сопоставления похожих имен файлов до того, какпереименуйте файлы, чтобы они были одинаковыми, а затем «подайте» их на инструмент вроде BeyondCompare.Решения могут быть сценариями или, возможно, в форме приложения.
В настоящий момент у меня есть идея алгоритма (для реализации в Perl), который соответствует именам файлов в соответствии с моей проблемой, в силу чего имена файлов похожи, как описановыше.
Можете ли вы предложить что-то лучшее или совершенно другой подход?
Найти список файлов с точно таким же размером файла
Создать хэш алфавитно-цифровых подстрок из первого файла, используя не буквенно-цифровые символы или пробел в качестве разделителя
Создать хэш алфавитно-цифровых подстрок из второго файла, используя не буквенно-цифровые символы илипробел в качестве разделителя
Совпадения вхождений
Найти, какой файл имеет наибольшее количество подстрок.
Рассчитать процентный показатель для сравнения в паре на основе количества совпадений, разделенного на наибольшее количество подстрок.
Повторить сравнение для each файл с каждым другим файлом с точным размером файла
сортировка парных сравнений по процентному показателю, чтобы получить предложения файлов для сравнения.
Переименуйте один файл в паре, чтобы он совпадал с другим.Поместите в отдельные папки.
Запустите инструмент сравнения, например, BeyondCompare с файлами, режим сравнения папок.