Unix只获取2个文件之间的差异

时间:2016-11-16 12:32:59

标签: unix diff difference

您好我正在尝试比较2个目录中的文件并输出所有新行,但我得到了新行。

我的问题是如何将每个文件差异输出到分离文件,而不是在同一输出上。谢谢

这是命令:

[root@ links]# diff -r directory1/ directory2/

以下是输出:

diff -bur directory1/file1 directory2/file1
--- directory1/file1    2016-11-16 07:10:48.646726219 -0500
+++ directory2/file1    2016-11-16 07:11:02.358639590 -0500
@@ -3,3 +3,8 @@
+6
+7
+8
+9
+10
diff -bur directory1/info1 directory2/info1
--- directory1/info1    2016-11-16 07:04:35.496097219 -0500
+++ directory2/info1    2016-11-16 07:05:19.840813752 -0500
@@ -1,3 +1,8 @@
+d
+e
+f
+g
+h

我需要的是像这样的单独输出文件的每个区别:

输出1

diff -bur directory1/file1 directory2/file1
--- directory1/file1    2016-11-16 07:10:48.646726219 -0500
+++ directory2/file1    2016-11-16 07:11:02.358639590 -0500
@@ -3,3 +3,8 @@
+6
+7
+8
+9
+10

OUTPUT2

diff -bur directory1/info1 directory2/info1
--- directory1/info1    2016-11-16 07:04:35.496097219 -0500
+++ directory2/info1    2016-11-16 07:05:19.840813752 -0500
@@ -1,3 +1,8 @@
+d
+e
+f
+g
+h

1 个答案:

答案 0 :(得分:1)

我相信你不能用diff做到这一点。

但是,您可以通过Linux中的替代工具。
例如, vimdiff ,它为您提供了您喜欢的分隔页面,还有其他工具,如kompare和diffMerge。请参阅此链接。 HERE