diff + 仅打印源文件中的字符串,而不打印来自 diff 的额外信息

diff + 仅打印源文件中的字符串,而不打印来自 diff 的额外信息

当我对新旧文件进行差异比较时,我发现 DDDC 字符串存在于旧文件中,符号为“<”,如下所示

diff -w old   new
103a104
> BBB
224c225
< DDDC

但请告知 diff 是否只能显示旧文件中的字符串 DDDC,而不显示符号“<”或“>”或某些数字,如 103a104 或 224c225 等以及所有这些愚蠢的东西

例如(请求 diff 的输出希望它是现实的 -

diff -w old new
DDDC

我需要获取以下格式(仅存在于旧文件中而未出现在新文件中的字符串)

答案1

尝试一下:

diff --old-line-format=$'%l\n' --new-line-format='' --changed-group-format='%<' --unchanged-group-format='' old new

另外,尝试一下这个进行比较

join -v 1 <(sort old) <(sort new)

答案2

尝试这个:

diff old new|grep "^< "|cut -c 3-

相关内容