Есть ли в Unix способ оценить, насколько похожи или различны два текстовых файла?
Я знаю о diff
, но это просто дает мне само различие. Я просто хочу получить в качестве ответа некую оценку того, насколько похожи эти два текста. Содержат ли они много одинаковых слов, часто ли тексты довольно похожи и т. д. На самом деле довольно сложно оценить это высококачественным способом, поэтому мне интересно, делал ли кто-нибудь это уже.
Было бы хорошо просто получить число, тогда 0 мог бы означать, что они идентичны, а большее число означает, что они совершенно не похожи.
решение1
Есть diffstat
, который считывает обычный diff
вывод и выводит некоторую статистикутолько о линиях.
diff -u fileA fileB | diffstat
или wdiff
обрабатыватьразница в словах.
wdiff -123 --statistics fileA fileB
Вы также можете прочитать страницы руководства, чтобы найти еще несколько интересных опций.