我们使用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提前谢谢你,
发布于 2017-09-13 21:24:56
我找到了一个棘手的解决方案。
首先,您需要一个新的文件格式,定义为表格式。

在此之后,您可以比较两个文件(在我的例子中,扩展名为yyy):要获得正确的对齐方式,必须将第一列设置为标准列(无键列):

现在您可以转到“”区域(如果您没有它,可以使用View->来显示它)。在这里,您可以转到一个列并将其复制到右边:

现在,您只复制了文件的一个部分。
备注:
我也试过固定的类型。第一列的with必须与第一个数字所需的大小相同。然后创建一个大的第二列,以获取所有其他数据:

这将导致以下比较:

但是通过这个比较,我无法复制一个列(@Scooter:也许这是一个bug?)
发布于 2017-09-15 16:41:34
在“无法比较”的文本比较中,复制行的一部分的唯一方法是使用复制和粘贴。Copy命令将始终复制整行。
克努特的方法使用表比较是唯一的解决办法。
发布于 2017-09-18 07:41:52
非常感谢你的详细描述。我尝试了克努特的建议,它起作用了,但我需要做一个小的调整,因为在我使用的文件中有更大的行,而且BeyondCompare无法始终正确地识别这些行。对我有好处的是把")“设为分隔符。然后,我可以找到前6个数字,其余的将作为文本处理,以供比较。
与固定类型的比较也不适合我。找到了每条不同的行,但当我在行详细信息中选择单元格时,它只替换了前6位数。如果我只替换第一个数字,而不是用第一个数字替换整行,这种方法将是理想的。
https://stackoverflow.com/questions/46195655
复制相似问题