问题 用diff忽略换行符


当我比较c源文件时,我想忽略换行符。例如,我想要跟随两个代码报告它们是相同的。

// codeA
int main(int argc, char *argv[]) 
{

// codeB
int main(int argc, char *argv[]) {

我已经尝试过以下选项,但无法获得结果。

diff -b codeA codeB
diff -w codeA codeB

5756
2017-11-02 09:52


起源

你试过了吗 -B? - Anirudh Ramanathan
是的,“ - B”也报告它们不同。 - user1292251


答案:


您可以使用例如GNU Indent打印两个文件, http://www.gnu.org/software/indent/ ,然后将它们与diff进行比较。


3
2017-11-02 09:56





有一个名为“word diff”的工具(工具命令行必须是'wdiff')可能有所帮助。 http://www.gnu.org/software/wdiff/manual/wdiff.html


7
2017-11-03 11:39



是否有一个很好的工具可视化wdiff的输出?特别是,如果他们对差异进行颜色编码会很好 - nukeguy
还有另一种选择:git diff --color-words如果适用的话 - armel
@nukeguy具有讽刺意味的是,你把这个评论放在包含彩色输出示例的手册的链接下面 gnu.org/software/wdiff/manual/wdiff.html#wdiff-Examples - Jeff