2017-09-13 2 views
1

BeyondCompare 4を使用して2つのファイルを比較しています。 BeyondCompareを使用する方法はありますか?最初の6桁だけがファイルAからファイルBにコピーされます。BeyondCompare:マクロで異なる場合は最初の6桁を置き換えます。

私は、行全体をコピーしたくないので、実際に最初の数字を置き換えたいのかどうかを確認し、確認する必要があります。したがって、マクロによる自動置換は使用できません。

例:

FileA: 
(ABCD) This is a testline 
(----) This is the 2nd line 


FileB: 
(0000) This is not a testline 
(ABCD) This is the second line 

それを確認した後、新しいファイルはFILEAの最初の行の最初の桁でFILEBする必要があります。事前に

Result: 
(ABCD) This is not a testline 
(ABCD) This is the second line 

おかげで、

答えて

1

Iトリッキーな解決策を見つけました。

まず、テーブル形式として定義された新しいファイル形式が必要です。

  1. ツール] - > [ファイル形式
  2. 押し+を選択し、テーブル形式
  3. マスクを定義します(私の場合* .yyyは思った通り)
  4. タイプが区切りとあなたの最初の区切る文字を定義する設定し
  5. 文字: enter image description here

この後、あなたは(拡張子YYYと私の場合には)あなたの2つのファイルを比較することができます が正しいアライメントを取得するには、目をしなければなりません最初の列から標準列へ(キー列なし): enter image description here これで「テキストの詳細」領域に移動できます(表示されていない場合は、表示 - >テキストの詳細で表示されます)。 ここでは、ある列に移動して右にコピーすることができます。 enter image description here

ファイルの一部だけをコピーしました。

備考:

固定型も試しました。最初の桁は、最初の桁に必要な大きさでなければなりません。 enter image description here しかし、この比較では、単一の列をコピーできませんでした(@Scooter-Team:多分これはバグでしょうか? )

+0

[テーブル比較]のメインウィンドウで行を選択して[コピー]を使用すると、行全体がコピーされるはずです。ウィンドウの下部にある回線の詳細でセルを選択すると、そのセルだけがコピーされます。 –

1

Beyond Compareのテキスト比較で行の一部をコピーする唯一の方法は、コピーアンドペーストを使用することです。 Copyコマンドは、常に行全体をコピーします。

テーブル比較を使用するKnutの方法が唯一の回避策です。

0

詳細な説明をいただきありがとうございます。 Knutが示唆したことを試してみましたが、うまくいきましたが、私の使用していたファイルには大きな行があり、BeyondCompareはそれらの行を常に正しく識別できなかったので、マイナーな調整が必要でした。 私にはうまくいきました、デリミタとして ")"を設定しました。それから私は最初の6桁を見つけることができ、残りは比較のためのテキストとして扱われます。

固定型との比較も私にとっては役に立たなかった。それぞれの異なる行が見つかりましたが、行の詳細でセルを選択すると、その行は最初の6桁だけに置き換えられます。最初の桁だけを置き換え、最初の桁で行全体を置き換えることができない場合は、この方法が理想的です。

関連する問題