仅复制差异(kdiff、winmerge、任何类似工具的差异)
Copy only difference (kdiff, winmerge, any diff like tool)
是否可以只复制两个文件的不同之处?就像在 winmerge 中一样,但是,我找不到这个选项
就像在这个屏幕上一样 - 我只想复制 'yellow part'。当然,我可以手动执行此操作,但在大文件中它并不太好笑 :-)
大多数 diff 工具都具有补丁生成功能,可以用于剪贴板,这主要是您想要的,因为您只会在左侧和右侧获得更改的文本(如果删除上下文行)。如果您只想要一侧的那些,您可以轻松地根据第一个字符过滤补丁(删除所有行,使用编辑器,匹配 ^[+>].*$
以保留删除的行或 ^[-<].*$
以保留添加行)。
命令行中的 diff 工具将输出那个,用 grep
和上面的正则表达式之一你就完成了。
在 winmerge 中有一个非常好的功能 - 在工具中,您可以通过工具 -> Raport 在 html 中生成 raport。在该操作之后,您可以解析生成的 html- 并以这种方式获得唯一的差异(但也许这不是最简单的解决方案)
有一个名为 DiffMerge 的免费应用程序。
注意:选项“仅显示差异”将被禁用,直到您切换到标记为“引用视图”的底部选项卡(文件为加载)。之后您应该可以使用仅差异视图。
WinMerge 提供 "Copy Left to..." 或 "Copy right to..." 将仅将差异复制到所选文件夹。
WinMerge 有一个 built-in 和简单的方法来生成这样的 "diff only" 文件,他们称之为 "patches".
单击 "Tool",然后单击 "Generate Patch...",然后输入要存储结果的位置:
您将获得(例如)文件
4,8c4,8
< HELLO WORLD
< HELLO WORLD
< HELLO WORLD
< HELLO WORLD
< HELLO WORLD
---
>
>
>
>
>
以下是您在 WinMerge 中的操作方法:
- 禁用任何上下文行:
[视图] > [上下文] > [0 行]。
- Select 感兴趣的窗格:单击窗格。
- Select 所有文本:[编辑] > [Select 全部] 或 [Ctrl]+[a].
- 复制选择:[编辑] > [复制] 或 [Ctrl]+[c].
是否可以只复制两个文件的不同之处?就像在 winmerge 中一样,但是,我找不到这个选项
就像在这个屏幕上一样 - 我只想复制 'yellow part'。当然,我可以手动执行此操作,但在大文件中它并不太好笑 :-)
大多数 diff 工具都具有补丁生成功能,可以用于剪贴板,这主要是您想要的,因为您只会在左侧和右侧获得更改的文本(如果删除上下文行)。如果您只想要一侧的那些,您可以轻松地根据第一个字符过滤补丁(删除所有行,使用编辑器,匹配 ^[+>].*$
以保留删除的行或 ^[-<].*$
以保留添加行)。
命令行中的 diff 工具将输出那个,用 grep
和上面的正则表达式之一你就完成了。
在 winmerge 中有一个非常好的功能 - 在工具中,您可以通过工具 -> Raport 在 html 中生成 raport。在该操作之后,您可以解析生成的 html- 并以这种方式获得唯一的差异(但也许这不是最简单的解决方案)
有一个名为 DiffMerge 的免费应用程序。
注意:选项“仅显示差异”将被禁用,直到您切换到标记为“引用视图”的底部选项卡(文件为加载)。之后您应该可以使用仅差异视图。
WinMerge 提供 "Copy Left to..." 或 "Copy right to..." 将仅将差异复制到所选文件夹。
WinMerge 有一个 built-in 和简单的方法来生成这样的 "diff only" 文件,他们称之为 "patches".
单击 "Tool",然后单击 "Generate Patch...",然后输入要存储结果的位置:
您将获得(例如)文件
4,8c4,8
< HELLO WORLD
< HELLO WORLD
< HELLO WORLD
< HELLO WORLD
< HELLO WORLD
---
>
>
>
>
>
以下是您在 WinMerge 中的操作方法:
- 禁用任何上下文行: [视图] > [上下文] > [0 行]。
- Select 感兴趣的窗格:单击窗格。
- Select 所有文本:[编辑] > [Select 全部] 或 [Ctrl]+[a].
- 复制选择:[编辑] > [复制] 或 [Ctrl]+[c].