私は同じだが、ファイル名が違うと思うファイルを比較するための最良の方法を探しています。 BeyondCompareのような比較ツールは素晴らしいですが、別々のファイル名を扱っていません。別々のフォルダ内のファイルを比較するとき、どちらの側でも同じ名前のファイルとの比較を試みます。Beyond Compareのようなdiffツールがバイナリ比較を実行するためにペアとして見えるように、同様のファイル名と名前を一致させるにはどうすればよいですか?
(私はBeyondCompareのために働いたり財務的関心を持っていませんが、私はツールをたくさん使い、いくつかの素晴らしい機能を持っています。
名前が異なるいくつかのフォルダツリーのどの場所でもファイルをマッチングさせるためのMindGems Fast Duplicate File Finderがありますが、これはCRCチェックに基づいています。このツールを使用していますが、フォルトはありませんが、BeyondCompareほど信頼できません。 BeyondCompareは、ファイルの完全なバイナリ比較を行うための完全な部分を提供します。
私の場合、ファイルには類似した名前が付いていますが、その違いは単語、句読点、大文字と小文字の違い、すべての単語の順序が異なります。したがって、ファイルの部分文字列が順不同である可能性があるため、Beyond Compareのようないくつかの差分ツールが既に提供しているファイルと一致する正規表現フィルタを使用するのは簡単ではありません。
私は、ファイル名を同じにする前に同様のファイル名をマッチさせてから、BeyondCompareのようなツールにそれらのファイルを 'フィード'する方法を探しています。ソリューションはスクリプトでも、アプリケーションの形でもかまいません。
現時点で私は、ファイル名が上記のように似ている私の問題に合うようにファイル名を一致させるアルゴリズム(Perlで実装する)を考えています。
あなたは何かより良いアプローチを提案できますか全く異なるアプローチですか?
ハッシュを作る
区切り文字として 英数字以外の文字またはスペースを使用して、正確に同じファイルサイズ
最初のファイルからの英数字ストリングのハッシュを作成して、ファイルのリストを表示して下さい第2ファイルの英数字部分文字列のうち、 英数字以外の文字またはスペースを区切り文字として使用
一致する出現
部分文字列の数が最も多いファイルを特定します。
の一致数を部分文字列の最大数で割って、ペアの比較のパーセンテージスコアを計算します。
正確な ファイルサイズは、他のすべてのファイルと、ファイルごとに繰り返し比較
ファイルの提案を比較するために取得する割合スコアによりペアの比較を並べ替えます。
ペア内の1つのファイルの名前を変更して、他のファイルと同じにします。別々のフォルダに配置します。
BeyondCompareのような比較ツールをファイル、フォルダ比較モードで実行します。
はい、これらは手動の手順です。私の質問から、私はBeyond Compareが、比較のために、最初に似た名前を持つ多くのファイルのペアを自動的に認識したいと思っています。 – therobyouknow