我怎样才能用完整的上下文来区分两个文件?

我有两个文件有轻微的差异。 一个正常的diff会显示我的文件之间的差异。 使用-c-u我可以添加大量的上下文到每个大块。 我可以通过哪些选项来diff变化,看看变化的每一条不变的线,并将差异作为一个单一的大块?

使用“-y”选项完全并排输出

diff -y file1 file2

会给你类似的输出

 * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Praesent fringilla facilisis pede. * Praesent fringilla facilisis pede. * Nulla sit amet tellus id massa luctus pellentesque. * Nulla sit amet tellus id massa luctus pellentesque. * Pellentesque a neque nec elit aliquam congue. * Pellentesque a neque nec elit aliquam congue. * Quisque rhoncus ultricies elit. * Quisque rhoncus ultricies elit. * Pellentesque laoreet urna id arcu. * Pellentesque laoreet urna id arcu. * Aenean non erat et elit egestas dictum. * Aenean non erat et elit egestas dictum. * Proin ornare sem eget nulla. * Proin ornare sem eget nulla. * Phasellus placerat convallis elit. * Phasellus placerat convallis elit. * Donec ultricies metus non purus. * Donec ultricies metus non purus. * Sed vel enim et nunc accumsan egestas. * Sed vel enim et nunc accumsan egestas. * Cras eget elit in purus luctus ornare. * Cras eget elit in purus luctus ornare. * In pharetra ligula sodales pede. < * Morbi consectetuer mi vitae sem. * Morbi consectetuer mi vitae sem. * Donec sollicitudin pretium erat. * Donec sollicitudin pretium erat. * Cras facilisis nunc sed leo. * Cras facilisis nunc sed leo. * Nunc varius ante sed nisi. * Nunc varius ante sed nisi. > THIS SHOULDN'T BE HERE > THIS SHOULDN'T EITHER! * Aenean in quam sagittis est ornare ultricies. * Aenean in quam sagittis est ornare ultricies. * Etiam dignissim scelerisque velit. * Etiam dignissim scelerisque velit. * Mauris porta fringilla sapien. * Mauris porta fringilla sapien. * Proin vitae nisl vitae mauris viverra tempor. * Proin vitae nisl vitae mauris viverra tempor. * Maecenas quis arcu sed lorem mollis bibendum. * Maecenas quis arcu sed lorem mollis bibendum. * Morbi sed turpis non risus molestie posuere. | * Morbi sed non risus molestie posuere. * Curabitur id magna in nulla commodo tristique. * Curabitur id magna in nulla commodo tristique. * Praesent quis nulla vel augue faucibus viverra. | * Praesent quis nulla BAD vel augue faucibus viverra. * Sed interdum libero. | * Sed lacinia interdum libero. > ANOTHER ADDITION * Donec ultricies posuere arcu. * Donec ultricies posuere arcu. * Etiam interdum auctor mi. * Etiam interdum auctor mi. 

您还可以重写diff格式化行为,以在不使用并行模式的情况下获得所需的行为:

 diff --new-line-format='+%L' --old-line-format='-%L' --unchanged-line-format=' %L' file1 file2 

该命令将显示完整文件作为上下文,并且格式最接近diff -u file1 file2

解决方案是设置一个大于文件本身的上下文大小(-U参数):

 diff -U 1000000 file1.txt file2.txt