00p*_*eus 7 unix comparison diff command-line character
标准差异工具对于查找文件中不同的行非常有用,但它对于逐个字符的差异不起作用.我经常需要逐个字符地合并文本(即书面文本,而不是代码),在不同的计算机上修改而不同步(是的,我知道我不应该,但无论如何它都会发生).除了添加一个或两个段落之外,我可能更改了逗号,拼写错误或文本中的其他一些小变化,这些变化以前是两个文件共有的.
Diff会告诉我哪些线路被改变了,但由于每条线路可能有多个差异,我必须仔细扫描这些线路以找到每条线路上每个物理上很小但很重要的差异.修复后,我必须重复差异,以确保我没有错过任何编辑.当行格式化(即每段一行),并且当许多连续行具有如此小的差异时,情况变得更糟.
现在我必须承认我通常只将这两个文件加载到Microsoft Word中并使用其内置的diff函数.启动像Word这样的大包只是为了找到一些小的差异当然不方便,但至少它会逐个字符地比较文件.
我真正想要的是一种Unix方式.一个小而可爱的工具或脚本,对文本进行逐字符比较,即不基于行,能够忽略行结尾,通过一些明智的ascii-art报告,并且完全可管理以在命令行的脚本中使用?
还有另外一个问题,使用'diff'(或其他任何东西)来获取文本文件之间的字符级差异,但是这个问题被基于网络的工具所示的lib所满足,我更喜欢命令中的某些内容 -线.
我不确定这是否符合您的“命令行”标准,但我每天都为此使用gvim/ vim。
像这样打开你想要比较的文件:
gvim -d file1 file2
Run Code Online (Sandbox Code Playgroud)使窗口全屏,以便更容易查看
gvim使用以下命令使拆分窗口大小相等:(C-w =即 Control+W 然后是=)
要更好地查看段落格式的行,请输入:set wrap,然后使用C-w w(或通过鼠标单击)切换到另一个拆分窗口,然后也输入:set wrap
要在更改之间移动,请使用[c和]c。要合并更改,请使用dp("diff put") 和do("diff获取/获取")。
有差异的线条会突出显示,并且线条内的差异也会用另一种颜色突出显示。我希望这可以满足您的需求。gvim可以为您做更多事情,例如从一个文件合并到另一个文件。您可以通过命令:help diff(inside gvim)了解更多信息。
你也可以试试kdiff3,可能比学习容易vim。
| 归档时间: |
|
| 查看次数: |
2510 次 |
| 最近记录: |