4

我有一个文本文件及其更新版本。我需要使用 diff 命令来发现两个文本文件之间的行号差异。有什么方法可以直接获取行号之间的映射。目前我使用这个代码 diff -ab file1 file2 这输出我

15a16
> 
27c28,30
< parameter [3:0] state12=4'b 1011;
---
> parameter [3:0] state12=4'b 1011;
> parameter [3:0] state13=4'b 1100;
> parameter [3:0] state14=4'b 1101;
55c58,59
<           next_state = state02;

however i would like something on these lines
1,1
2,3
3,4
4,6

其中第一个数字是file1中的行号,第二个数字是file2中相应的行号。否则我将不得不在python中编写一个脚本来解码a,cd的使用提前谢谢你

4

1 回答 1

0

为此,您需要一个能够识别代码何时移动的差异工具,而不仅仅是被插入/删除。

我们的Smart Differencer系列工具可以做到这一点。SmartDifferencers 使用真正的解析器解析代码文本,然后匹配短语被移动/复制/修改的位置。输出标识了每个以某种方式更改的原始代码块,精确到行号和列号,代码是否已被删除、移动、复制等。许多标准编程语言都有 SmartDifferencers(您似乎使用 Verilog,并且是的,有一个)。

您仍然需要一个脚本来将 SmartDifferencer 输出转换为您正在寻找的形式。

于 2012-07-15T22:52:09.563 回答