簡體   English   中英

只復制差異(kdiff,winmerge,任何差異工具)

[英]Copy only difference (kdiff, winmerge, any diff like tool)

是否有可能只復制兩個文件的差異? 就像在winmerge,但是,我找不到這個選項 在此輸入圖像描述

就像在這個屏幕上 - 我只想復制'黃色部分'。 當然我可以手動完成,但在大文件中它不是太有趣:-)

WinMerge有一種內置且簡單的方法來生成這樣的“diff only”文件,他們稱之為“補丁”。

單擊“工具”,然后單擊“生成修補程序...”,並輸入要存儲結果的位置:

在此輸入圖像描述

您將獲得(對於您的示例)文件

4,8c4,8
< HELLO WORLD
< HELLO WORLD
< HELLO WORLD
< HELLO WORLD
< HELLO WORLD
---
> 
> 
> 
> 
> 

它使用標准,緊湊的方式表示差異 ,易於操作。

有一個名為DiffMerge的免費應用程序。

注意:在您切換到標記為Referenced View(文件已加載)的底部選項卡之前,將禁用“ 僅顯示差異 ”選項。 之后,您應該能夠使用“僅差異”視圖。

與內容的差異

差別而已

以下是WinMerge中的操作方法:

  1. 禁用任何上下文行:[查看]> [上下文]> [0行]。
  2. 選擇感興趣的窗格:單擊窗格。
  3. 選擇所有文本:[編輯]> [全選]或[Ctrl] + [a]。
  4. 復制選擇:[編輯]> [復制]或[Ctrl] + [c]。

在winmerge中,有一個非常好的功能 - 您可以通過Tools-> Raport在html中生成raport。 在那個操作之后你可以解析生成的html-並以這種方式獲得只有差異(但也許這不是最簡單的解決方案)

大多數diff工具都有一個補丁生成功能,它可以用於剪貼板,這主要是你想要的,因為你只會在左側和右側獲得改變的文本(如果刪除上下文行)。 如果你只想要一方的那些,你可以輕松過濾關於第一個字符的補丁(刪除所有行,使用編輯器,匹配^[+>].*$以保留刪除的行或^[-<].*$以保持添加的行)。

命令行中的diff工具將輸出,使用grep和上述正則表達式之一管道輸出。

WinMerge提供“Copy Left to ...”或“Copy right to ...”,它只會將差異復制到所選的文件夾中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM