我想比较两个文件中的行,但为了最大程度地减少输出中的噪音,我只希望打印行中的实际差异。
例如,给定以下两个文件:
a.txt
a b c d e f g h i j k l m n o p q r s t u v w x y z
b.txt
a B c d e f g h i j k l m n o p q r s t u v w x y z
(它们之间的区别是字母的情况b
)
我希望输出是这样的:
[-b-]{+B+}
目前,我发现的最佳方法是使用git diff --word-diff
,但它输出的是整行:
a [-b-]{+B+} c d e f g h i j k l m n o p q r s t u v w x y z
除了手动解析输出之外,还有其他更直接的方法吗?同样,理想情况下,我更喜欢使用比更为常用的git diff
工具,例如POSIX shell工具,该工具不需要用户安装额外的软件包。
如果您使用其中差异更明显的示例,那就太好了。我不得不着眼睛看这两个字符不一样。
—
Barmar
抱歉,我添加了一条注释,描述了这两行之间的区别。
—
酒精
为什么不只是使用
—
Barmar
b
,B
所以显而易见?我知道这可能是实际的差异,但是出于问题的目的,您可以使其变得更容易。
我想避免仅适用于ASCII字符的解决方案,但是由于建议的解决方案不依赖于此,因此我对其进行了更改。但是,由于编辑的长度小于6个字符,因此我无法更新答案以反映新的更改。
—
酒精