如何在输出开头的 diff 中对“仅在”行进行分组

如何在输出开头的 diff 中对“仅在”行进行分组

我做到了:

diff -r directory1/ directory2/

有些文件是不同的,有些文件只存在于一棵树或另一棵树中,从而创建了几Only in ...行。

如何在文件开头将这些行分组?我 99.9% 确定两个目录都不包含以 开头的任何行Only in。我考虑过类似的事情:

diff -r directory1/ directory2/ | grep -v `^Only in`

但这样做会删除它们,而不是对它们进行分组。而且这sort也没有达到我想要的效果,因为我想保持实际比较的顺序。

答案1

一种方法可能是将diff输出重定向到文件,然后用来grep分离两个部分:

diff -r directory1/ directory2/ > temp
{ grep '^Only in' temp; grep -v '^Only in' temp; } > diff.output

相关内容