Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Unix 如何区分具有完整上下文的两个文件?_Unix_Command Line_Diff - Fatal编程技术网

Unix 如何区分具有完整上下文的两个文件?

Unix 如何区分具有完整上下文的两个文件?,unix,command-line,diff,Unix,Command Line,Diff,我有两个文件略有不同。正常的diff将显示文件之间的差异。使用-c或-u我可以为每个大块头添加一定数量的上下文。我可以将哪些选项传递到diff以查看更改旁边的每一条未更改的行,并将diff作为一个单独的大块头获取?使用“-y”选项进行完整的并排输出 diff-y文件1文件2 将为您提供如下输出 * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Lorem ipsum dolor sit amet, consecte

我有两个文件略有不同。正常的
diff
将显示文件之间的差异。使用
-c
-u
我可以为每个大块头添加一定数量的上下文。我可以将哪些选项传递到
diff
以查看更改旁边的每一条未更改的行,并将diff作为一个单独的大块头获取?

使用“-y”选项进行完整的并排输出

diff-y文件1文件2

将为您提供如下输出

* 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.
*Lorem ipsum dolor sit amet,一位杰出的领导者。*Lorem ipsum dolor sit amet,是一位杰出的领导者。
*Praesent fringilla facilisis pede。*设施性流苏足。
*没有人会告诉你,我是佩伦茨克夫人。*不,我是佩伦茨克夫人。
*Pellentsque是一款nec精英的康格啤酒。*佩伦茨克是一位nec精英。
*别有用心的精英们。*别有用心的精英。
*佩伦茨克拉奥里特乌尔纳酒店佩伦斯特·拉奥里特·乌尔纳·艾尔库。
*不可否认的事实和名言。*这是一句名言。
*Proin ornare sem eget nulla.*Proin ornare sem eget nulla。
*普莱斯利精英酒店黄粉虱。
*多奈克ultricies metus非purus。*多奈克ultricies metus非purus。
*这是一个很好的例子。*这是一个很好的例子。
*在普卢斯-卢克图斯-奥纳雷的精英阶层。*这是一个很好的例子。
*在pharetra ligula sodales pede中<
*Morbi Concertetuer mi vitae sem.*Morbi Concertetuer mi vitae sem。
*杜奈克·索利西图因·比勒蒂姆·埃拉特。*请在考试前完成考试。
*CRA设施为nunc sed leo。*设施简陋。
*Nunc varius ante sed nisi。*前鼻静脉曲张。
>这不应该在这里
>这也不应该!
*阿涅亚人在人马座和奥纳乌尔特里斯。*阿尼安在人马座的桥上。
*Etiam Dignessim scelerisque velit。*权杖威利特。
*Mauris porta fringilla sapien。*毛里斯·波尔塔·弗林吉利亚·萨皮恩。
*临时性生命之父nisl vitae mauris viverra。*暂时性的生命之路。
*梅塞纳斯·奎斯·阿尔库·勒姆·莫利斯·比本杜姆。*梅塞纳斯·奎斯·阿库姆·莫利斯·比本杜姆(lorem mollis bibendum)。
*Morbi sed turpis non risus molestie posuere.|*莫比·塞德·非莱索斯·莫莱斯蒂·波苏尔。
*库拉比图里德马格纳酒店库拉比图里德马格纳酒店。
*生活在奥古斯·福西布斯·维韦拉身边的人这句话的意思是:“我的朋友们都很好。
*塞德·英特杜姆·自由我是自由人。
>另加
*Donec ultricies posuere arcu。*Donec ultricies posuere arcu。
*国际拍卖人协会*埃蒂亚姆国际拍卖行。

您还可以覆盖差异格式行为,以获得所需的行为,而无需使用并排模式:

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

谢谢你的回答,你知道如何增加一个帅哥吗?我想使用
diff2html.py
,它接受统一的diff;我必须手动说:
(echo-e“---u L.txt\n++++u R.txt\n@@@1100+1100@“&&diff--new line format…\u L.txt\u R.txt)| python diff2html.py>LR.html
,以强制其语法着色;然而,我只是随意地在那里添加块头数,直到它开始工作——我宁愿
diff
为此输出一个块头。可能吗?干杯这得到了一个合并冲突,就像我想要的格式一样<代码>差异--新行格式=“$(printf'=======test1.txt\n%%L>>”--旧行格式=”$(printf'如果您碰巧知道文件大小的界限,那么只需将一个大参数传递给-U?diff-U 9999……或者简单地
diff-U-1
,正如J-LNote所指出的那样,对于没有差异的文件,这不会输出任何内容。如果您需要对一整组文件执行此操作,而其中一些文件可能没有变化,这会很不方便非常感谢您的回答!一个简短的提示:在我的机器上,我可以使用
-U-1000000
,而不是
-U-1
,不必担心使用足够大的数字。(我不确定为什么会这样;可能是因为-1的计算结果是一个巨大的无符号数字。)这仍然受到@raarts提出的相同问题的影响——它对没有差异的文件不起作用。