1

我们正在使用 BeyondCompare 4 来比较两个文件。有没有办法以这样的方式使用 BeyondCompare,通过按下按钮,只有前 6 位数字从文件 A 复制到文件 B?

我不想复制整行,如果我们真的要替换第一个数字,我们需要检查和审查。所以我们不能通过宏使用任何自动替换。

例如:

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


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

审查后,新文件应该是 FileB 和 FileA 的第一行的第一个数字:

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

提前致谢,

4

3 回答 3

1

我找到了一个棘手的解决方案。

首先,您需要一种新的文件格式,定义为表格格式。

  1. 工具 -> 文件格式
  2. 按 + 并选择表格格式
  3. 定义一个掩码(在我的例子中是 *.yyy)
  4. 设置类型分隔并定义一个分隔您的第一个字符的字符: 在此处输入图像描述

在此之后,您可以比较您的两个文件(在我的情况下扩展名为 yyy):要获得正确的对齐方式,您必须将第一列设置为标准列(无键列): 在此处输入图像描述 现在您可以转到“文本详细信息”区域(如果没有,请使用 View->Text Detail 使其可见)。在这里,您可以转到一列并将其复制到右侧: 在此处输入图像描述

现在您只复制了文件的一部分。

评论:

我也尝试了固定的类型。第一列的 with 必须与您需要的第一位数字一样大。然后制作一个大的第二列以获取所有其他数据: 在此处输入图像描述 这导致以下比较: 在此处输入图像描述 但是通过此比较,我无法复制单个列(@Scooter-Team:也许这是一个错误?)

于 2017-09-13T21:24:56.523 回答
1

在 Beyond Compare 的 Text Compare 中复制行的一部分的唯一方法是使用复制和粘贴。Copy 命令将始终复制整行。

使用表比较的 Knut 方法是唯一的解决方法。

于 2017-09-15T16:41:34.143 回答
0

非常感谢您的详细描述。我尝试了 Knut 的建议,它确实有效,但我需要做一个小的调整,因为在我使用的文件中有较大的行,BeyondCompare 无法始终正确识别这些行。对我有用的是将“)”设置为分隔符。然后我可以找到前 6 位数字,其余的将作为文本处理以进行比较。

与固定类型的比较对我也不起作用。找到了每条不同的行,但是当我在行详细信息中选择单元格时,它仅用前 6 位数字替换了该行。这种方法将是理想的,只要我可以只替换第一个数字而不用第一个数字替换整行。

于 2017-09-18T07:41:52.813 回答