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

时间:2015-08-18 15:45:59

标签: linux diff git-diff diffstat

diff -ur dir1 dir2 | diffstat

这与git diff --stat类似,但diffstat忽略“仅在dir1”和“仅在dir2”文件中,而git diff则分别将其添加到删除和插入计数中。有没有办法让diffstat做同样的事情?

2 个答案:

答案 0 :(得分:0)

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

我正在添加此命令的输出,并在问题中使用diffstat命令进行删除( - )计数,以获得实际的删除计数,类似于插入(+)计数。

答案 1 :(得分:0)

简单:

diff -urN dir1/ dir2/ |diffstat

使用GNU diff的-N选项,例如comparing directories

  

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