比较两个文件并保存linux中的差异

时间:2011-12-15 07:10:13

标签: linux unix

我喜欢比较两个文本文件并保存linux下的差异。

我知道有像kdiff,diff vimdiff等工具,但我的期望如下。

  1. 输出应位于单独的文件中
  2. 差异应该用颜色引用,例如:用红色删除行,用绿色添加行就像那样
  3. 应忽略空间差异
  4. 它应该是一个开源工具

4 个答案:

答案 0 :(得分:1)

使用tkdiff4 -w file-name1 file-name2

它满足您的所有要求。具体颜色可能是个问题。

答案 1 :(得分:0)

尝试colordiffman diff以获取忽略空白等的选项

答案 2 :(得分:0)

像,

#!/bin/bash
wdiff -w "\e[31m" -x "\e[0m" -y "\e[32m" -z "\e[0m" "$@";

将ASCII字符替换为值为0x1A的ASCII字符。将这两个命令放入某个文件中,然后使用重定向运行它。

答案 3 :(得分:0)

将更改保存到文件中:

diff -Nur originalfile newfile > patchfile

使用差异文件更改原始文件:

patch originfile patchfile

我认为这是保存更改并重新加载更改的最简单方法。 顺便说一句,您可以使用此命令创建更新包。