2016-11-16 32 views
0

你好,我想比较2个目录内的文件并输出所有新行,但我得到新行。Unix只获取2个文件的区别

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

下面是一个命令:

[[email protected] 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 

输出2

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 
+0

如果你想把这个输出写入文件,为什么不''diff -bur directory1/directory2 /> output_file'?你的问题对我来说还不清楚。每个目录中有多少个文件?你想要多少个输出文件? –

+0

我做过,但会输出所有相同的输出,如果我有2个文件进行比较,我需要2个输出...每个差异在一个单独的输出文件 – Johnny

+0

你的问题不是很清楚。你想如何让你的两个文件看起来像? – Sean83

回答

1

我相信使用DIFF你不能这样做。

但是,您可以通过在Linux的替代工具。
例如,vimdiff它给你你喜欢的分离页面,还有其他工具,如kompare和diffMerge。请参阅此链接。 HERE