有什么办法可以找到相似的文件(不能重复)?


12

我的最终目标是重构同事编写的代码。那么,有没有一种工具可以找到只有几个词不同的文件?

(编辑:这是针对Mac的,但其他人可能也喜欢非Mac的答案。)


@harry,鉴于修订历史,我想您发布了Windows答案,但该答案被否决了,因为只有在Mac才出现了?我宁愿放弃Mac要求,也可以查看您的答案(如果这是一个很好的非Mac答案)!
Arjan 2010年

@Arjan:完成。
harrymc

对于Mac,我想知道是否可以使用Spotlight。我对此表示怀疑,但是如果您知道在Spotlight中执行操作的方法,那么该mdfind命令可能有助于编写一些脚本来自动执行操作。但是,我认为它将始终只使用元数据。因此,查找相似文件可能会限制文件类型,但不会限制文件内容。没有雪茄。
Arjan 2010年

Answers:


5

Simian对某些语言的源代码执行此操作。最好找到公然的复制-n-粘贴编码。它的发展似乎停滞了,但是效果很好。


没有帮助很大-在Rails应用程序有很多非常相似的谐音,只说,那我在development.log类似的路线
TIG

您给它正确的文件进行分析了吗?您可能不在乎您的来源development.log。对于轨道看看鞭笞rubyforge.org/frs/...
本杰明Bannier

是的,我在Rails应用程序目录中提供了所有文件
tig 2010年

2

(对于Windows)

Anti-Twin产品(供私人使用免费)声称能够做到这一点:

如果您想让Anti-Twin不仅搜索完全重复的文件,而且还搜索相似的文件,则可以将所需的最小匹配项从默认值100%减少到最大60%。此功能是专为搜索几乎相同的文件而设计的,仅更改了很小的细节。输入低于100%的值后,Anti-Twin就会使用相似性搜索。相似性比较比100%完全重复搜索要花费更长的时间!

不幸的是,相似性搜索作为逐字节比较的一部分仅对几种文件类型有意义,因为只有在文件未压缩和未加密的情况下才能检测到相似性。未压缩的文件是例如未格式化的文本(.TXT)和HTML。


我在Mac上运行,通过酒,并行或类似操作无法使重构变得容易,只会更加困难:)
tig 2010年

@tig:您应该在帖子中指定此内容。我添加了mac标签。
harrymc 2010年

@Arjan:按照您的要求,我未删除此答案。
harrymc

理应如此![mac]再次删除标签。[osx]无论如何都应该是;-)
Arjan 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.