具有空内容的文件的diff命令

时间:2016-06-02 03:30:28

标签: linux shell diff

如果我想了解两个目录之间的区别,我使用以下命令:

diff -aruN dir1/ dir2/ > dir.patch

所以dir.patch文件应包含我想要的所有差异,对吗?

但如果dir2/包含内容为空的文件,并且该文件在dir1/中不存在,例如,

dir1/

dir2/empty_content_file.txt ------ with empty content.

然后diff命令不会为empty_content_file.txt生成任何补丁,但它是一个必需的文件。

是否有任何专业知识或替代方法可以做到这一点?

提前谢谢。

2 个答案:

答案 0 :(得分:1)

这是因为您正在使用-N选项,该选项被添加以明确将缺席文件视为空。 man diff说:

     -N,  --new-file 
              treat absent file as empty

答案 1 :(得分:0)

下面的屏幕截图显示了" diff -aru"命令第一个目录中不存在的文件,一条消息"仅在xxx"将显示。

The diff command without -N option for inexistent files in the first directory.