問題タブ [file-comparison]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
615 参照

xml - Linux 用の比較前に XML を解析する GUI XML 比較ツール

Linux (RHEL 5.7、Gnome) で比較する前に XML を解析する XML 比較ツールを探しています。私が比較しているファイルは、行比較では 99% 異なりますが、解析後は 85% 同じです。

  • 私は、仕事をうまくこなすツールのように見えるExamXML Proを見つけました。ただし、Windowsのみです。
  • OxygenXML Diff は Linux 用に作成されていますが、順序が異なるが構造が同じ XML を処理できないようです。

XML 差分または比較ツールに関するスタック オーバーフローに関する多くの質問がありますが、ほとんどは古いものであるか、Linux 環境に固有のものではありません。

0 投票する
2 に答える
2503 参照

filenames - 同様のファイル名を照合して名前を変更し、Beyond Compareなどの差分ツールがそれらをペアとして認識してバイナリ比較を実行するようにするにはどうすればよいですか?

同一であると思われるがファイル名が異なるファイルを比較するための最良のアプローチを探しています。BeyondCompareのような比較ツールは優れていますが、まだ異なるファイル名を処理していません。別々のフォルダーにあるファイルを比較する場合、どちらかの側に同じ名前のファイルとの比較を試みます。

(私はBeyondCompareで働いていないか、金銭的な利害関係はありませんが、このツールを頻繁に使用していて、いくつかの優れた機能があることがわかりました)。

異なる名前を持ついくつかのフォルダツリー全体の任意の場所にあるファイルを照合するためのMindGemsFastDuplicate File Finderがありますが、これはCRCチェックに基づいています。私はこのツールを使用していますが、徐々に信頼しているだけです。これまでのところ、障害はありませんが、 BeyondCompareほど信頼してはいけません。BeyondCompareは、ファイルに対して完全なバイナリ比較を行うという完全な心構えを提供します。

私の場合、ファイルの名前は似ている傾向があります。違いは、単語の順序、句読点、大文字と小文字の違いであり、すべての単語が存在するわけではありません。したがって、ファイルのサブストリングが順序どおりになっていない可能性があるため、正規表現フィルターを使用してBeyondCompareなどの一部のdiffツールが既に提供しているファイルを照合するのは簡単ではありません。

ファイルの名前を同じに変更してから、BeyondCompareなどのツールに「フィード」する前に、類似したファイル名を一致させる方法を探しています。ソリューションは、スクリプトまたはおそらくアプリケーションの形式である可能性があります。

現時点では、問題に合わせてファイル名を一致させるアルゴリズム(Perlで実装する)のアイデアがあります。これにより、ファイル名は上記のようになります。

より良い、または完全に異なるアプローチを提案できますか?

  1. まったく同じファイルサイズのファイルのリストを検索する

  2. 英数字以外の文字またはスペースを区切り文字として使用して、最初のファイルから英数字の部分文字列のハッシュを作成します

  3. 英数字以外の文字またはスペースを区切り文字として使用して、2番目のファイルから英数字の部分文字列のハッシュを作成します

  4. 一致するオカレンス

  5. サブストリングの数が最も多いファイルを見つけます。

  6. 一致の数をサブストリングの最大数で割った値に基づいて、ペアの比較のパーセンテージスコアを計算します。

  7. 正確なファイルサイズを持つ他のすべてのファイルと各ファイルの比較を繰り返します

  8. ペアの比較をパーセンテージスコアで並べ替えて、比較するファイルの提案を取得します。

  9. ペアの一方のファイルの名前を変更して、もう一方のファイルと同じにします。別のフォルダに配置します。

  10. BeyondCompareのような比較ツールをファイル、フォルダー比較モードで実行します。

0 投票する
7 に答える
2140 参照

php - PHPを使用して2つのファイルを比較して余分な行を見つける方法は?

2つのファイルがあります。

最初のものは482行あります。2つ目は519行しかありません。

phpを使用して2つのファイルを比較することにより、余分な行を見つけたいと思います。

私の最初のファイルにこのような行があるとしましょう

そして、私の2番目のファイルが次のようになっているとしましょう

注意:行はランダムな順序になっています。ここで、phpスクリプトを使用して同じ行を削除し、余分な行を保持したいと思います。たとえば、ファイル1には行が含まれていますMango。ファイル2にもその行が含まれていますが、順序はランダムです。だから私はその行を削除したいと思います。

0 投票する
2 に答える
2524 参照

perl - perl md5 を使用して 2 つのファイルを比較する

ファイルが存在する場合は存在するかどうかを継続的にチェックし、ファイルの MD5 を以前の MD5 に対してチェックするコードを実行したかったのです。何らかの変更がある場合は、何らかのコードを実行します。しかし、perl MD% は、同じファイルに対して hexdigest を呼び出すたびに変化しているようです。MD5 は毎回変更されますか?

私は最初に持っていた

while(1)

これが行われるべき方法ではない場合、私の意図を達成するために他に何かありますか? ありがとう

0 投票する
2 に答える
252 参照

perl - 新しい行や更新された行のみを別のファイルに挿入する方法

Perlを扱い、すでにブロックされている最初の日:)

状況は次のとおりです。ファイルはフォルダーAで更新されますが、フォルダーB、C、Dにも存在します。簡単にするために、ファイルはすべてのフォルダーで異なる可能性があるため、差分を実行することはできません。他のファイルにコピーされることを意図した新しい行は、行の終わりにあるフラグ(たとえば、 #I )によって識別されます。

更新前のファイルは次のようになります。

更新後は次のようになります。

私がする必要があるのは、他のファイルで「2行目」を検索し、#Iでタグ付けされた行を挿入された順序で挿入してから、「5行目」を検索して「6行目#I」を挿入することです。 。

この例では、それらはすべて連続していますが、更新する必要のあるファイルでは、最初の更新ブロックと2番目(および3番目など)の間に複数の行が存在する可能性があります。

更新されるファイルは、shスクリプト、awkスクリプト、プレーンテキストファイルなどです。スクリプトは汎用であると想定されています。スクリプトには、更新されたファイルと更新されるファイルの2つのエントリパラメータがあります。

これを行う方法についてのヒントは大歓迎です。必要に応じて、これまでに使用したコードを提供できます。近いですが、まだ機能していません。

ありがとう、

João

PS:これが私がこれまでに持っているものです

得られた結果は、私が望むものとほぼ同じですが、まだです。

0 投票する
2 に答える
1125 参照

java - Java FileUtils はバックアップ ディレクトリをコピーします

私は Commons.IO の FileUtils を使用しており、バックアップ スクリプトを作成しようとしています。単純なルールは、ソースから dest ディレクトリに存在しないすべてのファイル (およびサブディレクトリ) をコピーすることです。他より新しい日付。

FileUtils.copyDirectory() が適切な FileFilter を設定する方法よりも正しい選択であるかどうかはわかりません。

ありがとうございました。

0 投票する
4 に答える
2162 参照

python - Pythonで配列列を一致させる

以下の内容の 2 つのファイルがあります。私の質問は、以下に示すコードで、id が file1 と file2 で一致する場合、file1 の 2 番目の列と file2 の対応する 2 番目の列を n 列まで一致させる方法です。

ファイル1:

ファイル2:

0 投票する
1 に答える
397 参照

c# - 2つのバージョンのファイルを比較し、古いファイルに変更を適用します

私はこの質問について多くのことを検索してグーグルで調べてきましたが、2つのファイル(ハッシュ、チェックサムなど)を比較する方法をすでに知っています。しかし、それは私が必要としているものではありません。必要なものを以下に説明します。

ファイルがあり、それをバックアップしたとしましょう。後でこのファイルにいくつかの変更を加えたので、バックアップバージョンに変更を適用したいと思います。2つのファイルは十分に大きく、変更は小さい可能性があるため、すべてのファイルを書き直したくありません。インターネット(FTPなど)には時間がかかる可能性がありますが、バックアップを計画しているためです。

私がこれをどのように見るか(サンプル):

ファイルのバックアップバージョン(バイト)

新しいバージョンのファイル(バイト)

すべてのバイトを書き換える代わりに、次のことを行う必要があります。

  1. に変更(バイト253を変更)624
  2. バイトを削除637(バイトを削除)
  3. 890ファイルの終わりに書き込む(バイトを挿入)

1,2,3オプションは、必ずしも一度に表示されるとは限りません。バックアップファイルは別の場所にある可能性があり、インターネット経由でしかアクセスできないことに注意してください(サーバーはファイルを比較できるように何かを返す可能性があります)。

どうすればこれを達成できますか?私はそれが実装されているソフトウェアを知っていることが原因である可能性があることを知っています(しかし、その方法を見つけることができませんでした)。ヒントやチュートリアルなどは歓迎され、高く評価されています。前もって感謝します。

0 投票する
2 に答える
539 参照

java - javaで複数のテキストファイルの共通要素を見つける最良の方法は何ですか?

rdf トリプルの複数のテキスト ファイルを作成するプログラムがあります。トリプルを比較してすばやく実行する必要があります。これを行うための最良の方法は何ですか? トリプルを配列に入れて比較することを考えましたが、ファイルごとに数十万のトリプルが存在する可能性があり、それには永遠に時間がかかります. トリプルはファイル間で常にジャンル化されるため、可能な限りリアルタイムに近づける必要があります。どんな助けでも素晴らしいでしょう。ファイルは、何らかの方法で比較する方が簡単な場合は、AllegroGraph リポジトリにもあります。

考え: トリプルを Excel に保存し (行ごとに 1 つのトリプル)、リポジトリごとに 1 つのシートを保存した場合、

A: シート間で重複を見つけるにはどうすればよいですか。B: 速いでしょうか。およびC:Javaからそれを自動化するにはどうすればよいですか?