如何使diffstat计数删除和新添加的文件到LOC计数


diff -ur dir1 dir2 | diffstat

这与git diff --stat类似,但diffstat忽略了"Only in dir1"one_answers"Only in dir2"文件,而git diff分别将其添加到删除和插入计数中。有没有一种方法可以让diffstat做同样的事情?

更简单:

diff -urN dir1/ dir2/ |diffstat

使用GNU diff的-N选项,例如,当比较目录时:

如果只存在一个文件,diff通常不显示其内容;它只是报告一个文件存在,而另一个不存在。您可以将diff设置为缺少的文件为空,以便它输出实际存在的文件的全部内容。(它输出为插入或删除,具体取决于丢失的文件是在第一个位置还是第二个位置。)要做到这一点,使用--new-file (-N)选项。

diff -ur --exclude=".git" dir1/ dir2/ | grep -i "only in dir1" | awk '{print $3 $4}' | sed 's/:///' | xargs cat | wc -l

我将此命令的输出与问题中diffstat命令生成的删除(-)计数一起添加,以获得实际的删除计数,类似于插入(+)计数。

最新更新