Чи є спосіб знайти подібні файли (а не дублікати)?


12

Моя остаточна мета - рефакторинг код, написаний моїми колегами. Отже, чи є інструмент, який може знайти файли, що відрізняються лише кількома словами?

(Редагувати: це для Mac, але інші, можливо, також люблять відповіді, що не мають Mac.)


@harry, враховуючи історію редагування , я думаю, ви опублікували відповідь Windows, яка була оскаржена, оскільки лише тоді з'явилася вимога Mac? Я вважаю за краще відмовитись від вимог Mac і побачити вашу відповідь (якщо це була гарна відповідь, що не стосується Mac).
Ар'ян

@Arjan: Готово.
harrymc

Для Mac я поцікавився, чи можна використовувати прожектор. Я сумніваюся в цьому, але якщо ви знаєте спосіб робити речі в Spotlight, тоді mdfindкоманда може допомогти написати якийсь сценарій для автоматизації роботи. Однак я думаю, що це завжди буде використовувати лише метадані. Отже, пошук подібних файлів може обмежуватися типом файлу, але не вмістом файлу. Жодної сигари.
Ар'ян

Відповіді:


5

Simian робить це для вихідного коду деяких мов. Найкраще знайти чітке кодування копію-n-вставки. Здається, його розвиток застопорився, але він працює досить добре.


Не дуже допомогло - у додатку для рейлів з великою кількістю дуже схожих партій сказано лише, що у мене є подібні лінії в development.log
tig

Чи давали ви правильні файли для аналізу? Ви, мабуть, дбаєте про свої джерела, не так development.log. Для рейок подивіться на влучний rubyforge.org/frs/…
Бенджамін Баньє

Так, я передав всі файли в рельсі програми dir
tig

2

(Для Windows)

Продукт Anti-Twin (безкоштовно для приватного використання) стверджує, що може це зробити:

Якщо ви хочете, щоб Anti-Twin не тільки шукав повний дублікат, але й подібні файли, ви можете зменшити бажану мінімальну відповідність зі значення за замовчуванням від 100% до 60%. Ця функція була спеціально розроблена для пошуку майже однакових файлів, де були змінені лише крихітні деталі. Anti-Twin використовує пошук подібності, як тільки ви введете значення нижче 100%. Порівняння подібності займає набагато більше часу, ніж 100% повний пошук дублікатів!

На жаль, пошук подібності у складі порівняння байт-байт має сенс лише для декількох типів файлів, оскільки подібність може бути виявлена ​​лише у випадку, якщо файли не розпаковані та незашифровані. Нестиснені файли, наприклад, неформатовані тексти (.TXT) та HTML.


Я на mac і запускаю щось через вино, паралелі чи щось подібне, не полегшить рефакторинг, лише складніше :)
tig

@tig: Ви повинні вказати це у своєму дописі. Я додав тег mac.
harrymc

@Arjan: Я відповів цю відповідь, як ви просили.
harrymc

справедливо так! [mac]Знову видалено тег. Треба було [osx]все-таки ;-)
Арджан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.