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

Unix Get only Difference between 2 files

你好,我正在尝试比较 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

我相信你不能使用差异来做到这一点。

但是,您可以使用 Linux 中的替代工具。
例如,vimdiff 可以为您提供您喜欢的单独页面,还有其他工具,如 kompare 和 diffMerge。请参考这个link。 HERE