同様のファイル(重複ではない)を見つける方法はありますか?


12

私の最終目標は、同僚​​が書いたコードをリファクタリングすることです。それでは、ほんの数語で異なるファイルを見つけることができるツールはありますか?

(編集:これはMac用ですが、他の人はMac以外の回答も好むかもしれません。)


@harry、改訂履歴を考えるとあなたはWindowsの回答を投稿したと思いますが、Macの要件が明らかになったため、それはダウン投票されましたか?Macの要件を下げて、あなたの答えも(それがMac以外の良い答えであるなら)見たいです!
アルジャン

@Arjan:完了。
harrymc

Macの場合、Spotlightを使用できるかどうか疑問に思いました。私はそれを疑いますが、Spotlightで物事を行う方法を知っているなら、mdfindコマンドは物事を自動化するスクリプトを書くのに役立つかもしれません。ただし、常にメタデータのみを使用すると思います。したがって、同様のファイルを見つけると、ファイルの種類は制限されますが、ファイルの内容は制限されません。葉巻はありません。
アルジャン

回答:


5

Simianは、いくつかの言語のソースコードに対してこれを行います。露骨なコピーアンドペーストコーディングを見つけるのに最適です。その開発は停滞しているように見えますが、十分に機能します。


あまり役に立たなかった-非常によく似た部分がたくさんあるRailsアプリでは、development.logに同様の行があると言った
-tig

分析に適したファイルを提供しましたか?おそらくソースではなく、ソースに関心がありdevelopment.logます。レールについては、flay ruby​​forge.org/frs/をご覧ください…
ベンジャミンバニエ

はい、私はすべてのファイルをrails app 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]とにかくあったはずです;
アルジャン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.