执行这4个命令后,目录“a”有文件“1”,内容为“test”,文件“2”为空,目录“b”为空。
$ mkdir a
$ mkdir b
$ echo test > a/1
$ touch a/2
我们可以跑
$ diff -r a b
Only in a: 1
Only in a: 2
这对补丁没有帮助。或者,我们可以运行
$ diff -rN a b
diff -rN a/1 b/1
1d0
< test
这对于文件“1”来说非常有用,因为我们看到了它的内容,但现在文件“2”已经消失了。这是因为该-N
标志的意思是“将不存在的文件视为空”,所以我认为 diff 无法看到空文件“a/2”和(假装,因为实际上是空的)空文件“b/2”之间的区别。
有没有一种方法可以让 diff 在一次执行中向我们显示一个新的空文件已被创建,以及一个新的非空文件的内容 - 以补丁可以使用的格式?
或者,这需要一个新的选项来比较吗?