首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows中对两个文件执行比较时,获取两个文件的差异行数

在Windows中对两个文件执行比较时,获取两个文件的差异行数
EN

Stack Overflow用户
提问于 2010-11-10 05:56:41
回答 4查看 8.3K关注 0票数 4

出于代码审查的目的,在修改现有的源文件之后,我们只审查那些源文件中已更改的代码行。

在我对存储库中的源文件进行更改后,在进行同行代码审查之前,我必须与源文件中已更改的代码行进行沟通。

我能够看到使用WinMerge的视觉差异,我对它为我做的事情感到高兴,但对我的同事的唯一要求是知道需要检查的文件名和行号。

有没有办法只获取更改过的文件的行号?文件的类型可以是文本源文件,例如Javascript、Java、XML、XSL等。

示例文件--

foo (新版本):

代码语言:javascript
复制
a
b
c
d
e
f
g
h
i
j
k

foo (旧版本):

代码语言:javascript
复制
a
b
C
d
h
i
k

我正在寻找的输出:

代码语言:javascript
复制
foo: 3, 5-7, 10-11

代码语言:javascript
复制
foo:
3
5-7
10-11

我确信某些程序允许这样做。我就是找不到。有什么建议吗?我目前使用的是WinMerge,但任何在Windows上运行的程序都可以。如果软件是开源的或免费的,那就更好了。

编辑: GNU DiffUtils接近我想要的,但并不完全符合我的需求。查看命令行选项,我将"-q“(或"--brief")视为简化的diff,但它太简单了。输出:

代码语言:javascript
复制
C:\Program Files\GnuWin32\bin>diff.exe -q foo1.txt foo2.txt
Files foo1.txt and foo2.txt differ

正常差异输出:

代码语言:javascript
复制
C:\Program Files\GnuWin32\bin>diff.exe foo1.txt foo2.txt
3c3
<     c
---
>     C
5,7d4
<     e
<     f
<     g
10,11c7
<     j
<     k
---
>     k
\ No newline at end of file

diff -u输出:

代码语言:javascript
复制
C:\Program Files\GnuWin32\bin>diff.exe -u foo1.txt foo2.txt
--- foo1.txt    2010-11-09 15:47:12.447916000 -0600
+++ foo2.txt    2010-11-09 15:47:36.129954700 -0600
@@ -1,11 +1,7 @@
     a
     b
-    c
+    C
     d
-    e
-    f
-    g
     h
     i
-    j
-    k
+    k
\ No newline at end of file

我正在寻找比diff -q更有信息量的东西,但比diff -u和diff提供的信息更少。有没有不同的忍者知道不同的选项来允许这样做?

我总是将最近修改的新文件与旧文件进行比较。我只需要在新文件上审查的东西。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-10 11:28:16

GNU DiffUtils是开源的,免费的,并且有a Windows port

票数 3
EN

Stack Overflow用户

发布于 2014-01-23 03:23:31

将第一个文件保存为x.txt,将第二个文件保存为y.txt

然后运行:

比较行--未更改的行格式=“元”--新行格式=“:%dn:%L”y.txt x.txt | perl -pe‘s/元/\n/g’| perl -pe '$count++;if ($_ !~ /^\n$/){y.txt "$count\t";}‘

票数 2
EN

Stack Overflow用户

发布于 2010-11-10 05:59:53

我不知道有一种Windows原生方法,但我使用Textpad的“比较文件”功能来实现这一点,而且它相当不错。

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

https://stackoverflow.com/questions/4139083

复制
相关文章

相似问题

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