Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Unix差异与上下文并行_Linux_Unix_Diff_Sdiff - Fatal编程技术网

Linux Unix差异与上下文并行

Linux Unix差异与上下文并行,linux,unix,diff,sdiff,Linux,Unix,Diff,Sdiff,在Unix中,执行 diff -y file1 file2 可以同时看到两个文件。执行 diff -c file1 file2 可以通过三行上下文查看两个文件的差异。 执行 可以抑制所有公共线。但如果我想并排显示,但有3行上下文,该怎么办--superss公共行将完全不提供上下文 diff -y -c file1 file2 将给我冲突的输出样式选项。有没有办法做到这一点?似乎diff(1)不允许这样做,但似乎有效: vimdiff -c 'set diffopt=context:3' f

在Unix中,执行

diff -y file1 file2
可以同时看到两个文件。执行

diff -c file1 file2
可以通过三行上下文查看两个文件的差异。 执行

可以抑制所有公共线。但如果我想并排显示,但有3行上下文,该怎么办<代码>--superss公共行将完全不提供上下文

diff -y -c file1 file2
将给我
冲突的输出样式选项
。有没有办法做到这一点?

似乎
diff(1)
不允许这样做,但似乎有效:

vimdiff -c 'set diffopt=context:3' file1 file2
缺点是它只是交互式的,您不能将差异转储到文件中,但同样,并行差异在文件中不是很有用。但是,如果您确实想将其保存到文件中,awesome answer将要求您执行以下操作:

vimdiff -c 'set diffopt=context:3' -c TOhtml -c 'w! output.html' -c 'qa!' file1 file2

虽然不太理想,但它确实很有用。

这太神奇了,vim上的TOhtml命令,呈现的html看起来与vim diff屏幕完全一样,颜色和字体都相同。非常好,谢谢——Suppress公共线可能只适用于大多数现代diffutils版本。例如,在diffutils 3.3(在CentOS 7.7上)上,它不包括在内。
vimdiff -c 'set diffopt=context:3' -c TOhtml -c 'w! output.html' -c 'qa!' file1 file2