首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BeyondCompare:通过宏替换前6位(如果不同的话)

BeyondCompare:通过宏替换前6位(如果不同的话)
EN

Stack Overflow用户
提问于 2017-09-13 10:54:44
回答 3查看 114关注 0票数 1

我们使用BeyondCompare 4来比较两个文件。是否有一种使用BeyondCompare的方法,通过按下按钮,只将前6位数字从文件A复制到B文件?

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

例如:

代码语言:javascript
复制
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第一行的第一个数字:

代码语言:javascript
复制
Result:
(ABCD)  This is not a testline
(ABCD)  This is the second line

提前谢谢你,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-13 21:24:56

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

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

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

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

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

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

备注:

我也试过固定的类型。第一列的with必须与第一个数字所需的大小相同。然后创建一个大的第二列,以获取所有其他数据:

这将导致以下比较:

但是通过这个比较,我无法复制一个列(@Scooter:也许这是一个bug?)

票数 1
EN

Stack Overflow用户

发布于 2017-09-15 16:41:34

在“无法比较”的文本比较中,复制行的一部分的唯一方法是使用复制和粘贴。Copy命令将始终复制整行。

克努特的方法使用表比较是唯一的解决办法。

票数 1
EN

Stack Overflow用户

发布于 2017-09-18 07:41:52

非常感谢你的详细描述。我尝试了克努特的建议,它起作用了,但我需要做一个小的调整,因为在我使用的文件中有更大的行,而且BeyondCompare无法始终正确地识别这些行。对我有好处的是把")“设为分隔符。然后,我可以找到前6个数字,其余的将作为文本处理,以供比较。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46195655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档